结对编程阶段二
一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
博客内容应该包括:
1、代码规范
1.1 类名首字母应该大写,字段、方法以及对象的首字母应小写。对于所有标识符,其中包含的所有单词都应该紧靠在一起,而且大写中间单词的首字母
例如:类名Test1.java
标识符getOp
1.2为了常规用途而创建一个类时,采取“经典形式”,包含对下述元素的定义:equals() hashCode() toString() implement Serializable
1.3对于自己创建的每一个类,都考虑置入一个main(),其中包含了用于测试那个类的代码。
1.4应将方法设计成简要的、功能性单元,用它描述和实现一个不连续的类接口部分。
1.5设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的),然后再为管理代码的人考虑一下(预计可以进行那些形式的修改,用什么方法可以把他们变得更简单)
1.6使类尽可能短小精悍,而且只能解决一个特定问题
1.7让一切都尽可能地“私有”——private。可使库的某一部分“公共化”
1.8谨慎“巨大对象综合征”。对一些习惯顺序编程思维、且初步OOP领域的新手,往往喜欢先写一个顺序执行的程序,再把它嵌入一个或两个巨大的对象里。
1.9若不得已进行一些不太雅观的编程,至少应该把那些代码置于一个类的内部。
1.10尽可能细致地加上注释,并用javadoc注释文档语法生成自己的程序文档
2、程序的总体设计(附图说明模块之间的关系)
3、程序结对编程过程(附图)及功能实现情况(附代码和图)
第一次交互:
Test1:能实现的功能:随机抽题、可以控制参与运算的数字在0-100内、可以判错并且给出正确答案
缺少的功能:无法控制结果在0-100内、无法打分
出现的问题:第一次代码由苏同学编写,盛同学监督,由于缺少必要的头文件,实验没有出现结果,由盛同学给予改正,成功运行
第二次交互:
Test2:功能:在test1功能的基础上,增添了打分的功能,以及将精度提升了0.1,并且可以实时判断对错。
此次实验由盛同学编写,苏同学监督,并对代码提供完善建议,添加了打分功能。
4、项目github地址(附图)
此次实验与盛同学共同完成,我的github地址是https://github.com/suqiaol/Su-Sheng-travel-plans,源仓库地址是https://github.com/Shengjingyuan/Su-Sheng-travel-plans,
5、实验总结
此次实验让我重新温习了Gitbash命令,第一此实验只是大致了解了一下,这次实验是真正意义上的自己完成,刚开始对实验命令的不熟悉导致点麻烦,后来真正了解命令用途就好理解多了,实验也进行的容易些。