结对编程-第二阶段

Posted ououou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对编程-第二阶段相关的知识,希望对你有一定的参考价值。

一、实验目标
  1)体验敏捷开发中的两人合作。

  2)进一步提高个人编程技巧与实践。

 

二 、实验内容
  1)根据以下问题描述,练习结对编程(pair programming)实践;

  2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。

  3)要求在结对编程工作期间,两人的角色至少切换 4 次;

  4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。

 

三、代码规范

  在编写代码时我们一般遵循代码规范的七大原则——空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。

       我们选择c语言进行程序的代码编写。

       1)要有对应的规范的头文件如,

    #include<stdio.h>
    #include <stdlib.h>
    #include <time.h>

  2)编写代码时为了方便查看应利用空行,缩进,对齐使程序的格局段落分明;

  3)在关键字后面一定要有空格,避免代码报错显示关键字未定义;如 int op1;

  4)在某些代码后加上一些注释,c语言的一行注释一般采用//…,多行注释必须采用/*…*/;使使用代码或修改代码的人更加清楚 地知道代码的作用;

  如:技术图片

  5)成对的符号一定要成对书写,不然容易漏写而使代码报错;

  6)一行代码只做一件事。

 

四  程序的总体设计

  按照老师要求我们讨论过后确定程序的功能有:随机生成题目,题目作答,判断正误,统计作答正确和错误的题数以及最终得分情况,在终端上显示题目,并保存到文件里,流程图如下:

 

    技术图片

 

 

五 程序结对编程过程及功能实现情况

  本次结对编程我们利用QQ屏幕分享远程讨论,git hub托管代码,在git上利用push提交修改的代码

 

技术图片

 

 技术图片

 

 

  1)首先由吕亚楠在网上查找了一些关于四则运算方面的代码;

  2)我对查找的资料进行整理,编写,然后提交四则运算最初版本;

  3)吕亚楠进行第一步的代码优化,因为最初版本的题目只显示在文件中,在终端不显示,并且没有答题,对错,分数,优化后均可实现;

最初:

        技术图片

 

 技术图片

 

 优化后:

  技术图片

   4)开始随机数是手动输入范围,吕亚楠修改后改为范围为100;

   5)我对题目进行约束,加法结果,乘法结果不能大于100,减法结果不能小于零,除法结果不能为小数或分数

          优化前:加法结果,乘法结果有大于100,除法结果可为小数或分数

 

      技术图片技术图片

 

   增加的代码约束: 

  技术图片技术图片技术图片技术图片

 

 

  优化后:

     技术图片技术图片

   6)吕亚楠对结果错误进行了优化,增加输出正确答案

  优化前:

  技术图片

 

   优化后 :

  技术图片

 

 

  7)优化完成后整体运行情况

  技术图片

 

 

  六项目github地址

  下图是git hub 仓库地址

 

 技术图片

 

 七.实验总结

  通过这次实验,我体会到跟以往不同的编程体验,以往都是一个人编程,容易进入思维误区,两个人结对编程思维更加活跃,当讨论时你的想法有错时,对方会指出并再次讨论,会节约编写代码的时间;但是在git hub提交时会因为不熟悉操作而出现问题,在编写代码时也遇到了许多问题,像文件的保存,添加约束条件等,不过幸运的是,经过我们两人共同的努力和讨论都成功解决。虽然代码还有待加强。

 

以上是关于结对编程-第二阶段的主要内容,如果未能解决你的问题,请参考以下文章

结对编程 第二阶段报告

结对编程第二阶段

20172326『Java程序设计』课程结对编程练习_四则运算第二周阶段总结

20172319 结对编程练习_四则运算第二周阶段性总结

20172312『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结

20172320 结对编程项目-四则运算 第二周 阶段总结