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

    一、实验目标
      1)体验敏捷开发中的两人合作。
      2)进一步提高个人编程技巧与实践。
    二 、实验内容
      1)根据以下问题描述,练习结对编程(pair programming)实践;
      2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
      3)要求在结对编程工作期间,两人的角色至少切换 4 次;
      4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
    三、组队情况
    队名:第十六组
    选择课题:生命游戏
    组员博客地址:李真真(https://www.cnblogs.com/real2/)
    周韧欢(https://home.cnblogs.com/u/vkook-1230/)
    仓库地址( https://github.com/lizhenzhen0114/game)

    四、实验过程
    1、代码规范
    (1)命名规范基本原则:变量名=属性+类型 +对象,每一个对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。
    (2)变量的定义尽可能放在最开始处,功能相近的函数集中放在一起。
    (3)声明变量时对齐变量名,并在定义时写上注释。函数间要使用空行分开,每个函数定义时写注释。
    (4)某一段代码写上具体的注释,标注具体完成什么功能。
    (5)函数或过程的开始、结构的定义及循环、判断等语句的代码都要采用缩进风格,case语句下的情况处理语句也要遵从缩进风格。
    (6)程序块的分界符“{”与“}”应各占一行。
    参考资料链接:http://www.360doc.com/showweb/0/0/903393905.aspx

    2、程序的总体设计(附图说明模块之间的关系)
    (1)系统流程图

    (2)功能函数
    void Initialize();//初始化一个函数
    void RunGame();//进行游戏
    int Count(int i,int j);//计算生命周围的生命数量
    void Data();//调用已存的游戏数据
    ①初始化函数:Initialize(),用于调用游戏数据。

    ②运行游戏函数:RunGame(),休眠2秒;
    规则:如果一个生命周围的生命少于2个,它在回合结束后死亡。
    如果一个生命周围的生命超过3个,它在回合结束后死亡。
    如果一个生命周围有2或3个生命,它在回合结束时保持原样。
    如果一个死格周围有3个生命,它在回合结束时获得生命。

    ③计算生命周围的生命数量:int Count(int i,int j)

    ④切换游戏内容函数:void Data(),内含十字排、滑翔机以及高斯帕滑翔机。

    3、程序结对编程过程(附图)及功能实现情况(附代码和图)
    (1)

    (2)结伴编程过程
    我们通过qq远程控制和微信进行问题交流。
    初始编程,讨论代码以及交互:

    添加功能:

    (3)结伴编程所遇到的问题
    由于是李真真建立的仓库,开始我从自己的本地仓库(可以上传我自己所建的远程仓库),想要上传代码文件到远程的游戏仓库,无法上传成功;后来是她在她的本地仓库上传。
    运行命令:git push origin master

    修改代码,添加游戏数据时,由于我们俩还不是很熟悉GitHub,所以我在修改完代码,提出文件变更,拉取新的请求,需要对方同意合并。(如果是自己所建仓库,不需要)


    4.游戏运行截图:
    利用GIF工具,展现生命游戏的生动性和趣味性。

    错误截图:

    5、项目github地址(附图)
    游戏地址:https://github.com/lizhenzhen0114/game

    6、实验总结
    这一次实验收获颇丰,熟悉了GitHub的各种操作。结对编程,使我和我的小伙伴在不同的地方可以一起写代码,当某个人写代码有错误时,另一个人会发现错误,立即提出,以防的最后程序执行后产生错误,从头找起。当遇到一个难点时,两人可以马上进行讨论,在网上查询答案,寻求突破点,比一个人盲目查找,效率大大提高。希望以后可以继续合作。

  • 相关阅读:
    Java NIO中的缓冲区Buffer(二)创建/复制缓冲区
    Java NIO中的缓冲区Buffer(一)缓冲区基础
    Java中的反射
    Java SE 9(JDK9)环境安装及交互式编程环境Jshell使用示例
    Spring Data JPA例子[基于Spring Boot、Mysql]
    Spring Session
    Spring Data Redis示例
    Spring IO Platform简介及示例
    使用Spring Boot开发 “Hello World” Web应用
    2017/01/13,今天正好是开通博客园一周年,谈谈自己的一些想法
  • 原文地址:https://www.cnblogs.com/vkook-1230/p/12620991.html
Copyright © 2011-2022 走看看