第三次作业

一、角色分配

驾驶员:白晓琪  

领航员:张斌斌

二、作业要求

黄金点游戏是一个数字小游戏,其游戏规则是:

 

      N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分。玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动。

 

      现在请大家根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下:

 

      1、本作业属于结对编程项目,必须由二人共同完成,并分别将本次作业过程发到博客,同时将本次作业源代码提交到codeing系统;

 

      2、如果可能的话尽量以C/S或B/S方式实现,即利用服务器接收和处理所有玩家提交的数字,并将结果反馈给各玩家,玩家可以通过客户端提交的数字;

 

      3、如果采用单机方式实现的话,需要为用户提供便利的输入界面;

 

      4、该游戏每次至少可以运行10轮以上,并能够保留各轮比赛结果。

 

      5、作业总结中,驾驶员主要描述本次结对编程中领航者对代码复审做了哪些工作,提出了哪些有建设性的意见和建议。领航者对驾驶员本次工作进行总结,主要包括代码风格、编程技巧等,两人应共同总结与一人编程相比,结对编程是否真正提高了代码质量和编程效率,双方应该将本次工作过程拍若干张照片并发布到博客中。

 

三、程序代码

  程序代码已上传至coding.net系统中,地址为

  https://coding.net/u/Luckystars/p/work3/git/blob/master/README.md

四、作业总结

  我认为想要做好结对,首要的是有效沟通。

对于有不同习惯的编程人员,在一起工作可能会产生麻烦,甚至矛盾。由一个人的工作变成了两个人的事,小伙伴们就要彼此尊重,多沟通。如果有其他的任务要暂时离开,请及时告诉你的小伙伴,以便彼此更好的安排工作,保证效率。不过还好的是,我的结对编程伙伴能力强于我,我不懂的地方她也会耐心仔细的告诉我给我解释,我偶尔发现她的小错误她也马上就改正,我们两在这个你来我往的过程中,学习到和收获到的恐怕比我们自己想象中还要多。当然我们也发生了很多的问题,有时候领航员,也就是我,跟不上驾驶员的思路了,也会苦恼自己该怎么办?该打断小伙伴的思路吗?还是让她先编完程序······

后来学长告诉我,要勇敢的叫停,打断结对的小伙伴,弄懂这个问题,这样做才是达到了结对的目的!就如前面提到的,结对是一个快速让自己学习和成长的机会;而且你的小伙伴通过讲解也会梳理自己的思路,能够更深入的理解这个问题或技术,互助互学。

结对编程强调的是两个人的合作,强有力的合作效率不但降低学习成本,还能在编程中,相互讨论,可能更快更有效地解决问题一边编程,一边共享知识和经验,有效地在实践中进行学习。

有了此次结对编程的经历,我忽然发现,其实结对并不阻止个人的独立思考,它带来了诸多软件协作的好处,但结对也不是所谓的坐在一起就可以了。结对不是一成不变的,需要根据目前的任务灵活确定是否适合结对。

真正的结对会比一人工作更专注,紧凑,所以一天8小时的结对会很累,因此结对需要定时的休息,保持合理的节奏。可与结对的小伙伴一起协商休息时间,比如一个小时或两个小时休息一次,从而保证可持续的工作。

五、结对照片

posted @ 2016-10-17 21:01  张斌斌  阅读(151)  评论(0编辑  收藏  举报