结对编程

一、要求

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

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

二、角色分配

驾驶员:白晓琪

领航员:张斌斌

三、作业总结

    这次的结对编程已经结束了,我们共同完成了黄金点游戏的程序。在此基础上我认为结对编程给我们带来的好处是显而易见的。因为在两个不同的人的共同监督和思考下,总会及时的发现并及早的暴露程序的某些问题。

    这次的结对编程由我当驾驶员,在当驾驶员的过程中,我会因为着急敲代码而犯一些低级的错误,比如忘记改变输入法,忘记切换大小写。每当这时,我的搭档总会及时提醒我,这节省了我们后来检查程序错误的时间。另外,因为领航员的存在,我必须注意程序书写的规范性,变量命名的有效性和清晰性。必要的时候我还要写一些注释方便我的搭档对程序的理解。这提高了整个程序的可读性,方便我们对程序bug的修改。除了上述这些好处之外,给我印象最深的就是,在我出现思路不清晰的情况下,我可以和我的搭档迅速商讨解决方法,而不是像之前个人编程遇到困难时,只能自己苦苦思索,因为如果想寻求他人的帮助,你要把自己的思路完整的讲给别人听,而那个想帮助你的人往往并不会理解你的想法,最后也只是有心无力,而且还会浪费大量时间。

    结对编程注重的是合作,这其中沟通显得尤为重要,而我的沟通能力并不是很强,幸运的是我的搭档一直很积极的和我沟通,积极的了解我的想法和表达她的想法。这也是我们结对编程能够顺利的完成的重要因素吧。在此,感谢我的小伙伴。

四、运行结果

此次,我只进行了两轮输入,方便截图。

这是第一轮输入:

 

 

这是第二轮输入:

 

 

最后的总得分为:

 

 

五、结对照片

 

六、上传代码

代码已经上传到coding.net.

网址为https://coding.net/u/Biscuits/p/thirdhomework/git/blob/master/README.md

 

 

posted @ 2016-10-17 21:23  Biscuits  阅读(182)  评论(0编辑  收藏  举报