zoukankan      html  css  js  c++  java
  • 结对编程第一阶段

    一、实验目标:
    1)体验敏捷开发中的两人合作。
    2)进一步提高个人编程技巧与实践。
    二 、实验内容:
    1)根据以下问题描述,练习结对编程(pair programming)实践;
    2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
    3)要求在结对编程工作期间,两人的角色至少切换 4 次;
    4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。

    三、问题描述(二选一)
    1)生命游戏
      生命游戏是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机,它包括一个二维矩形世界,这个世界中的每个方格居住着一个活着的或死亡的细胞。一个细胞在下一个时刻生死取决于相邻八个方格中活着的或死了的细胞的数量。如果相邻方格活着的细胞数量过多,这个细胞会因为资源匮乏而在下一个时刻死去;相反,如果周围活细胞过少,这个细胞会因太孤单而死去。
      游戏在一个类似于围棋棋盘一样的,可以无限延伸的二维方格网中进行。例如,设想每个方格中都可放置一个生命细胞,生命细胞只有两种状态:“生”或“死”。图中,用黑色的方格表示该细胞为“死”, 其它颜色表示该细胞为“生” 。
    游戏开始时, 每个细胞可以随机地(或给定地)被设定为“生”或“死”之一的某个状态, 然后,再根据如下生存定律计算下一代每个细胞的状态:每个细胞的状态由该细胞及周围 8 个细胞上一次的状态所决定;如果一个细胞周围有 3 个细胞为生,则该细胞为生,即该细胞若原先为死则转为生,若原先为生则保持不变;如果一个细胞周围有 2 个细胞为生,则该细胞的生死状态保持不变;在其它情况下,该细胞为死,即该细胞若原先为生则转为死,若原先为死则保持不变。

    四.实验过程
    1.组队情况
    队名:第十六组
    选择课题:生命游戏
    组员博客地址:李真真(https://www.cnblogs.com/real2/)
    周韧欢(https://home.cnblogs.com/u/vkook-1230/)
    仓库地址( https://github.com/lizhenzhen0114/game)
    2.查阅相关资料加深对敏捷开发和结对编程的理解

    ①敏捷开发
    第一,敏捷开发以用户需求为核心,采用迭代、增量的方式开发软件,指导我们更加高效的开发,旨在覆盖多变的市场和快速响应多样的用户需求,保证软件开发质量,缩短开发时间。第二,敏捷开发还提倡用户参与到产品或项目开发的流程中来,成员之间分配好职责,进行有关项目的交流,减少不必要的文档产生,再通过反馈,使产品更加满足繁杂的用户需求,以此来提高产品、项目的开发效率和质量。第三,采用敏捷开发,第一阶段完成项目的基本功能,之后的功能是根据收集到的用户反馈进行开发的,实现功能模块的持续集成。

    资料来源链接:https://www.jianshu.com/p/d42aa84c2bd7

    ②结对编程
    结对编程是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员,两个程序员经常互换角色。在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。
    对于我来说,结对编程就是两人可在不同的地方,一起写代码,当某个人写代码有错误时,另一个人会发现错误,立即提出,以防的最后程序执行后产生错误,从头找起。当遇到一个难点时,两人可以马上进行讨论,寻求突破点,提高了代码的开发速率。
    3.针对课题查阅的资料,对课题的理解
    生命游戏的规则:
    如果一个生命周围的生命少于2个,它在回合结束后死亡。
    如果一个生命周围的生命超过3个,它在回合结束后死亡。
    如果一个生命周围有2或3个生命,它在回合结束时保持原样。
    如果一个死格周围有3个生命,它在回合结束时获得生命。

    游戏链接:https://playgameoflife.com/
    4.采用开发平台和技术工具
    我们选用熟悉的开发工具:Visual C++ 6.0,如果呈现的效果不好,会进一步修改开发工具,选择Java 或Python。
    5.其他
    我们小组通过qq进行交流,必要时通过qq远程操控对方的电脑,完成任务。
    截图:

  • 相关阅读:
    BAPI / RFC with Delphi(系列之一)--安装部件
    如何动态改变Table Control的列抬头
    如何实现标准TCODE的屏幕增强(HOWTO:Implement a screen exit to a standard SAP transaction)
    JNDI 连接Windows Active Directory 教程
    BAPI / RFC with Delphi(系列之三)--TSAPLogonControl使用(无对话框的登录sap的delphi源代码)
    BAPI / RFC with Delphi(系列之二)--TSAPLogonControl使用(有对话框的登录sap的delphi源代码)
    asp.net
    关于ETL的经验总结[经典](转)
    保持Oracle的优良性能
    保持Oracle的优良性能
  • 原文地址:https://www.cnblogs.com/vkook-1230/p/12545802.html
Copyright © 2011-2022 走看看