首页 > 代码库 > 结对编程作业
结对编程作业
1、这次的任务是要完成一个黄金点的数字小游戏,不过,跟以往单枪匹马的完成一项任务不同,这一次是由两个人组成一个结对编程小组来共同完成。分为驾驶员和领航员两种角色,驾驶员负责编程写入代码,而领航员则负责在驾驶员编程的同时,审核代码,减少编程过程中的错误。由于本人的编程能力欠佳,所以担任的是领航员的角色,而“驾驶员”则由我的同伴曾洪鑫来担任。
2、首先分析一下本次任务的主要要求,黄金点游戏的规则不再赘述,是需要一个完成主要功能的主函数,这样大致的架构就完成了。然后就是界面的设计,因为无法实现C/S或B/S的方式,所以我们选择了单机方式实现。
如图,这是游戏开始的界面,因为要求要设计简单、便与输入的界面,所以界面只有两个选项:开始游戏和退出游戏。
现在开始游戏,输入1,按照提示进行游戏:
然后是游戏进行时的界面:
得出结果之后选择是否继续,按照任务要求游戏至少可以连续玩十次,这个功能可以实现,但是界面过于冗长,所以就不再贴出。
当想要结束游戏时,就可以直接输入2键退出。
3、本次的结对编程对于我可以说是受益匪浅,由于本人编程能力的薄弱,作为领航员不仅是需要阅读驾驶员的代码,找出错误,更要从中学习了驾驶员自己对于编程的理解与风格,让我学到了平常在课堂上学不到的知识。基于我的同伴曾洪鑫对于任务的理解,他的编程风格是从大体入手,构建实现主要功能的函数作为程序的框架,这样所有的其他子功能还是一些小细节的实现,都要依附于这个主要的函数实现。当框架完成之后,要完成的就是界面显示和优化,由于只是完成任务达到要求即可,所以我们设计的界面力求简单易懂,所以只有两个选项,但是已经可以完全满足要求。至于优化,本来我们实现的函数忘了至少可以完成十轮游戏的要求,所以在我们工作过程中,作为领航员的我忽略了这样一个失误,当我们认为完成的时候才发现,所以需要保留主函数,重新架构添加子功能,“驾驶员”重新构造了一个死函数完成了这一问题。对于技巧,我的同伴也没有什么很巧妙地技巧,只是在构造主函数时,参考和查阅了函数的算法。不过这样一个小小的举动,对于我的启发倒是不小,我知道,有时编程也需要多多的了解很多基本算法,而不是一门心思的自己冥思苦想,不知道这样的一个启示会不会在我今后的编程工作中起到画龙点睛的作用。
与单人编程相比,效率自然是不必说的,我们完成任务的速度比自己一个人在编程然后查错、测试、最后提交要快的多,并且,有的错误在变成的过程中就被找到,这样简单几次的运行查错就可以进行测试,不过“驾驶员”和“领航员”的工作任务量也有不同,驾驶员比我的工作要多做很多,着实辛苦,所以在此也谢谢这次结对编程的同伴,感谢他在这次任务中的无私付出。
4、代码已经上传到coding.net:https://coding.net/u/taojikang/p/rjgc/git/blob/master/jieduibiancheng
5、本次结对编程工作过程的照片:
结对编程作业