结对编程(第一阶段)

一、实验目标:

(1)体验敏捷开发中的两人合作

(2)进一步提高个人编程技巧与实践

二、实验内容:

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

(2)组队情况,各队博客地址,GitHub仓库地址,所选择的课题;

(3)针对课题查阅的资料,对课题的理解;

(4)两个人商量后,采用开发平台和技术工具;

(5)其他,如二人讨论的记录

三、实验过程

一、查阅资料

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

1、敏捷开发

(1)概念:

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

(2)原则

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

2、结对编程

(1)概念:

结对编程是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。
(2) 过程:
首先要做的就是找到一个好队友。然后就找到了技术担当吴雨亭,下面是他的博客地址:
(https://www.cnblogs.com/wuyuting/)
我的博客地址:
(https://www.cnblogs.com/Liovee/)
队名朴素:银河战舰
其次是用来托管的github仓库地址:(https://github.com/Liovee/life-game-)
这次我们选择的课题是生命游戏,因为考虑到可能选择这个课题的比较多,可以容易进行讨论。我们编程语言选择的是python语言。编译器我用的是VScode,因为考虑到vscode非常轻量且有很多功能的插件,可以帮助我们较为轻松地完成编程。

3.课题了解

1、课题概述

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

2、课题原则

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

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

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

4.感想

在结对编程初期,因为刚上手觉得好奇,所以没有什么实质性的讨论,但是当课题越爱越深入,错误越来越多,难点越来越困难的时候,相信我们可以有行之有效的讨论和解决问题的办法。

posted @ 2020-03-22 22:10  Liovee  阅读(139)  评论(0编辑  收藏  举报