一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、博客内容
1、代码规范
1.类名首字母大写,字段、方法以及对象的首字母小写。所有标识符,其中包含的所有单词都应该紧靠在一起,而且大写中间单词的首字母
2.文件名全部小写,可以包含下划线 (_
) 或连字符 (-
),依照项目的约定.。
3.类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。
4.注释使用“//”;对于所有的javadoc的注释则使用“/** */”;而临时对代码块进行注释尽量使用“/* */”。
5.缩进排版规范避免一行的长度超过60个字符。
6.提供对实例以及类变量的public或private访问控制,尽可能不适用默认值或protected访问控制。
7.避免用一个对象访问一个类的静态变量或方法。应该用类名代替。
2、程序的总体设计(附图说明模块之间的关系)
1. 生成中缀表达式。2. 将中缀表达式转换成后缀表达式。3. 用后缀表达式建成二叉树。4. 通过二叉树查重。5. 通过后缀表达式计算。
3、程序结对编程过程(附图)及功能实现情况(附代码和图)
实验中互换角色进行进行代码的编写,并通过github托管代码
第一次和第二次交互完成代码编写
第三四次交互完成界面设计
功能实现:
用随机数实现100以内的加、减、乘、除运算,总计输出10个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分数。
#pragma warning(disable : 4996) #include#include #include int main() { int a, b, d, t; //定义两个操作数a,b,结果d,输入结果t char c; //运算符c可取“+、-、×、÷” int i, sum = 0; //题目数量i,答对数目sum srand(time(0)); //初始化随机数发生器 for (i = 0; i < 10; i++) { a = rand() % 100 + 1; b = rand() % 100 + 1; c = rand() % 4; printf("第%d题:", i + 1); switch (c) { case 0: while ((d = a + b) > 100)//和在100内 { a = rand() % 100 + 1; b = rand() % 100 + 1; } printf("%d + %d = ", a, b); break; case 1: while (a > 100 || b > 100) //被减数小于100 { a = rand() % 100 + 1; b = rand() % 100 + 1; } if (a < b)//被减数大于减数 { d = a; a = b; b = d; } d = a - b; printf("%d - %d = ", a, b); break; case 2: while ((d = a * b) > 100) //积小于100 { a = rand() % 100 + 1; b = rand() % 100 + 1; } printf("%d × %d = ", a, b); break; case 3: while (a > 100 || b > 100 || (a * b == 0)) //被除数小于100且除数不为0 { a = rand() % 100 + 1; b = rand() % 100 + 1; } if (a < b)//被除数大于除数 { d = a; a = b; b = d; } a = (a / b) * b; //可以整除 d = a / b; printf("%d ÷ %d = ", a, b); break; } scanf("%d", &t); if (d == t) { sum++; printf("正确\n"); } else printf("错误\n"); } printf("答对 %d 题,得分:%d\n", sum, sum * 10); return 0; }
界面设计前:
界面设计后:
4、项目github地址(附图)
https://github.com/lv-byte/LL
5、实验总结
此次实验让我更加熟悉了git命令,更重要的是知道了如何结对编程,这种编程方式很新颖,很能锻炼两个人的能力,并且让我了解了团队合作的重要性,从队友上认识到自己的不足和学到许多知识。