软件工程——结对项目

一、项目背景

      五子棋是一种两人对弈的纯策略型棋类益智游戏,棋具与围棋通用,起源于中国上古时代的传统黑白棋种之一。主要流行于华人和汉字文化圈的国家以及欧美一些地区。

       容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。已在各个游戏平台有应用。

二、五子棋功能

   1、计算机能根据棋局状态实时的判断对弈双方的胜负。
   2、控制双方交替下棋。
   3、友好的界面呈现。

  

 
三、结对分工及过程
   结对 贾殿铎(学号后四位:1135)  王辉勇(学号后四位:1150)

  组员各自的优缺点:

      1.贾殿铎:五子棋算法,判断胜利,悔棋,地方游戏中吃对方的棋、移棋、判断胜利

      2.王辉勇:主要做五子棋的界面

四、结对编程优缺点:

    优点:

   1.结对编程时间紧密,在一定程度上可以督促双方学习提高效率

   2.Coder在coding过程中会遇到一些细小的问题,而reviewer可以及时指出错误,并给予解决方案进行讨论。

   3.遇到问题时,两个人一起讨论,并补充对方没有想到的地方,是完善程序最好的方式。

  缺点:

  在编程过程中,很长时间是coder在coding的过程中想思路,大概这也是每个程序员的特点,而这个时候reviewer就会长时间遇到空档期。

五、源码的github链接

https://github.com/JiaDianDuo/java_core/commit/0d972915f0b730349285804a349f89887f9dfb54

六、测试结果

 

 

 

七、心得

 

     这是我的第一次结对编程,总体感觉是很坑爹且痛苦。虽然是结对编程,但是代码基本是我一个人写的=0=感觉上我还是不太适应结对编程这种模式,我们前期阅读代码时是分开进行的,我总感觉我和一个人一起阅读代码时会看不下去(然而尽管是一个人阅读的,我的阅读过程还是很痛苦)。当我们结束了代码阅读开始进行讨论时,我发现队友对于代码的熟悉度还不够,但是时间不能耽误,于是我们进入了算法设计环节。原本是想由队友设计一个大体的算法,我进行补充并进行编码,但是队友很难把算法从自然语言抽象到程序步骤。于是我设计了一个基础的算法并进行编码,在这个过程中我们尝试进行二人工作交换,但是很快我发现了一个数据结构使用上的错误,指导队友又太慢了,所有只好换我上阵。当算法实现完成后,进入调试阶段,队友更是没办法插进手了(因为他虽然理解大体的算法思路但是不能完全理解思路在代码里的实现)。虽然我也尝试安排调试和一些小工作给队友,但是结果都是在队友完成前我就等不及先完成了。

 

posted @ 2015-05-17 16:03  下一个天亮1  阅读(240)  评论(13编辑  收藏  举报