实验二 结对编程(阶段一)

Posted incoming22

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验二 结对编程(阶段一)相关的知识,希望对你有一定的参考价值。

实验记录第一阶段

 

自我学习Github的相关知识的记录:

https:////www.cnblogs.com/Incoming22/p/12419553.html

一、查阅资料   

?? 查阅相关资料加深对敏捷开发的和结对编程的理解;

1、敏捷开发

(1)概念:

敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

(2)原则

快速迭代、让测试人员和开发者参与需求讨论、编写可测试的需求文档、多沟通,尽量减少文档、做好产品原型、及早考虑测试。

 

2、结对编程

(1)概念:

结对编程是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。

(2)提高编程效率的方法(无意间看的一篇文章的内容)

技术图片

 

 

二、组队    

?? 组队情况、队友博客地址、仓库地址、所选的课题

1、组队情况

(1)找队友

好姐妹的默契就是——结对编程找队友都是一拍即合!所以我们3月2日就已经组队成功了。

技术图片

技术图片

 

介绍我的小姐妹—李宏丽

这是她的博客地址:技术图片https://www.cnblogs.com/lhl2z/

这是我的博客地址:https://www.cnblogs.com/incoming22/

技术图片

 

(2)Github仓库地址

按照老师的要求,我和队友创建了属于我们的仓库;将组队信息利用 Github 中的 fork 和 pull request 操作发给了老师;(此处操作未截图)

仓库地址:http://技术图片github.com/xxx-y/life-game

技术图片

 

2、所选课题—生命游戏

 

 选择这个课题我和队友也仔细的讨论过,老师给了两个选择,四则运算和生命游戏。选择课题之前我们上网将这两个课题都查询了一下。

相对四则运算,我们俩都觉的生命游戏更有趣也很具有挑战,虽然本次实验的中心任务是让我们体现结对编程,但我俩都想把这次实验当作课程设计一样认真完成,锻炼自己编写代码的能力。

 

三、理解课题   

?? 确定好课题后,我们就对生命游戏展开了更深一步的学习;(参考百度百科)

 

1、课题概述

生命游戏其实是一个零玩家游戏。它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死了的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。实际中,你可以设定周围活细胞的数目怎样时才适宜该细胞的生存。如果这个数目设定过高,世界中的大部分细胞会因为找不到太多的活的邻居而死去,直到整个世界都没有生命;如果这个数目设定过低,世界中又会被生命充满而没有什么变化。实际中,这个数目一般选取2或者3;这样整个生命世界才不至于太过荒凉或拥挤,而是一种动态的平衡。

2、课题原则

 

(1)如果一个细胞周围有3个细胞为生(一个细胞周围共有8个细胞),则该细胞为生(即该细胞若原先为死,则转为生,若原先为生,则保持不变) 。

 

(2)如果一个细胞周围有2个细胞为生,则该细胞的生死状态保持不变;

 

(3)在其它情况下,该细胞为死(即该细胞若原先为生,则转为死,若原先为死,则保持不变设定图像中每个像素的初始状态后依据上述的游戏规则演绎生命的变化,由于初始状态和迭代次数不同,将会得到令人叹服的优美图案)。

 

四、开发平台和技术工具   

?? 对开发语言和开发工具我们考虑了很多,最终选择了C语言,因为我俩对C语言最为熟悉,而且这个课题利用c语言也能完整的实现;

 

发发工具 VC++ 6.0
托管工具 Github、VS code
交流工具 QQ、微信


五、讨论记录    

1、确定了组队后,我和队友对本次实验做了简单的任务划分

技术图片


2、选择课题和开发工具

聊天记录有很多,这里就只选取一部分了;

技术图片

技术图片

技术图片

 

 

3、小感想

虽然第一阶段我们完成的内容并不多,但是也让我深深的感受到了拥有一个好搭档的好处~

(1)遇到难题时,我们都会相互鼓励

技术图片

 

 技术图片

(2)一开始不了解怎么进行讨论,还下载了一些莫名其妙的东西,最后发现还是QQ和微信好用呀!电话、视频,都是很好的工具。(那张截图时我和队友在视频聊天,截图截糊了)

技术图片

 

 技术图片

 

实验的第一阶段结束,接下来就要一块编写代码了,期待接下来的合作!此处 @李宏丽

 

以上是关于实验二 结对编程(阶段一)的主要内容,如果未能解决你的问题,请参考以下文章

实验二 结对编程 第二阶段

实验二 结对编程 第一阶段

实验二 结对编程(阶段二)

实验:结对编程 第二阶段

实验二 结对编程(阶段二)

实验二 结对编程 第一阶段