结对编程(铺垫)
结对编程(铺垫)
1.对敏捷开发和结对编程的理解
首先,敏捷开发,简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
对于结对编程,也就是两个人组队写一个程序,其中,一个人叫Driver,另一个人叫Observer,Driver在编程代码,而Observer在旁边实时查看Driver的代码,并帮助Driver编程。并且,Driver和Observer在一起时可以相互讨论,有效地避免了闭门造车,并可以减少后期的code review时间,以及代码的学习成本。实验证明,平均下来,结对编程时间花销比单人编程增加10%的时间,但也会比单人编程减少15%的代码BUG。如果再算上后期代码的维护和学习成本,结对编程比单人编程更有效率,还更为节省成本。 所以无论是对开发团队还是对于Business,结对编程都会是非常不错的Programming Practice。另一方面,两个有经验的人可能会发现配对编程里没有什么技能的转移,但是让他们在不同的抽象层次解决同一个问题会让他们更快地找到解决方案,而且错误更少。两个程序员具有相同的缺点和盲点的可能性很小,所以我们当我们采用结对编程的时候会获得一个强大的解决方案。而这个解决方案恰恰是其它软件工程方法学中所没有的。
2.组队和选题
由于不能在学校完成此次结对编程实验,我们采用远程结对编程,即结对的双方各自在自己的家中,通过QQ微信等各种实时视频联系的软件,共享自己的实验成果,从而达到远程结对编程的效果。
(1)首先,我们通过学习通组队,在软件工程的课程的中,我们创建一支双人小队,取名零零七,邀请队友加入队伍即可。

(2)通过对课题的研究与探讨,我们选择了生命游戏作为此次实验的课题,生命游戏是John Conway 发现的一种游戏。 其底层规则非常简单。 在一个二维点状平面上, 每一个点遵循如下规则:
- 少于2个邻居的点,在下一回合死去。模拟生命较少的情况。
 - 在周围邻居数量是2和3时,下一回合保持不变
 - 在周围邻居数量大于3时,下一回合死去,模拟生命拥挤的情况。
 - 当一个空白的点,周围的邻居数量是3个是, 下一回合将会产生一个新的点。模拟繁殖。
 
3.github学习过程









                
            
        
浙公网安备 33010602011771号