实验二结对编程 第二阶段

Posted hdksjfsk

tags:

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

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

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

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

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

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

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

1、代码规范

(1)空行与空格:空行起着分隔程序段落的作用,空行得体将使程序的布局更加清晰。每当定义变量和函数后都要空行;空格可以避免代码混乱,所以关键字后面要留空格,赋值运算符、关系运算符等双目运算符之后也要留空格。

(2)缩进与对齐:缩进是编写代码时重要的方法,他可以使程序更有层次感;对齐主要是指大括号“{”和“}”要对齐,互相占一行,不要先写左大括号,再写代码,然后再写右大括号,不过现在很多编程软件都是可以自动对齐的,很大的方便了开发人员的工作。

(3)命名与注释:变量与函数名字要具有意义,比如学生变量最好使用Student;注释部分放在那一行代码的后面,防止搞错,也方便之后的检查与修改。

(4)代码行:if,else等语句后面不要更上执行语句,容易混乱且不美观,每一行代码不要有太多内容堆积,比如定义变量和赋值最好分两行代码,清晰明了。

 

2、程序的总体设计

 技术图片

 

 3、结对编程过程:我和队友起初准备使用java进行编程,但是由于我自己的电脑jdk不小心被我删除了,无法运行java代码,所以改用C语言运行。我们使用Visual C++6.0来开发本次项目。之后我们开始预想程序的总体框架该是怎么样的,我们确定了主菜单 以及使用四个函数来分别实现四则运算,至于随机生成题目过程,我们使用的是random()函数。至于老师要求的在一百以内的运算以及除法必须是整除,我们则是在产生随机数之前添加了while循环语句,增加限制条件,成功实现了老师的要求。

我们是使用qq通话和发送讯息的方式来进行讨论和分享各自的方法的。这次实验,我们互相交换角色,刚开始是我初步的编写四则运算代码,之后他进行主菜单的编写,这是初步的代码,还存在很多缺陷。比如主菜单没有输入错误时的反馈,在他和我互相讨论之后他进行了修改之后,主菜单的问题得到了解决,但这是四则运算的函数得到的题目不是100以内的,经过我们两个的合作,我们在给出随机数时再问你国家了循环语句以限制题目在100以内运算。

这次结对编程实验,我们互相讨论,互相交流想法,起到了出其不意的效果,使得工作得到了很好的完成。

 4、代码与运行情况

下面是代码和运行截图:

int right=0;
int wrong=0;
void add()
{
int a=51,b=51,c;
while(a+b>100||a+b<0)
{
a=rand()%100;
b=rand()%100;
}
printf("请回答: %d + %d = ",a,b);
scanf("%d",&c);
if(a+b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}
void minu()
{
int a=1,b=2,c;
while(a-b>100||a-b<0)
{
a=rand()%100;
b=rand()%100;
}
printf("请回答: %d - %d = ",a,b);
scanf("%d",&c);
if(a-b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}
void mul()
{
int a=20,b=10,c;
while(a*b>100||a*b<0)
{
a=rand()%100;
b=rand()%100;
}
printf("请回答: %d * %d = ",a,b);
scanf("%d",&c);
if(a*b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}
void di()
{
int a=5,b=3,c;
while(a/b>100||a/b<0||a%b!=0)
{
a=rand()%100;
b=rand()%100;
}
printf("请回答: %d / %d = ",a,b);
scanf("%d",&c);
if(a/b==c)
{
printf("回答正确! ");
right++;
}
else
{
printf("回答错误! ");
wrong++;
}
}

技术图片

 

 

5、项目github地址:https://github.com/zhihao-he/my-travel-plans

 

6、实验小结:这次试验是一次独特的结对编程实验,对于我来说还是第一次,我和我的小伙伴遇到了很多的问题,但是在互相交换思想的过程中,也收获了很多,实验过程中,我们真正的体会到了合作的重要性,虽然这次实验比较复杂,但是我们让然很开心,学到了很多的知识,总结了很多经验。

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

实验二 结对编程 (第二阶段)

实验二 结对编程 第二阶段

实验二结对编程 第二阶段

实验二 结对编程 第二阶段

实验二 结对编程第二阶段

软件工程 实验二 结对编程(第二阶段)