结对编程——第二阶段
一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、内容
1、代码规范
因为此次编写所用语言为Java,所以主要java编码的:注释规范、文件名规范、声明规则、以及编程规则。
1.1、注释规范
(1)注释尽可能使用“//”;对于所有的javadoc的注释则使用“/** */”;而临时对代码块进行注释尽量使用“/* */”。
(2)所有的源文件都应该在开头有一个注释,其中列出文件名、日期和类的功能概述。
(3)每个方法必须添加文档注释(类的main()方法除外)。
(4)每个属性必须添加注释。
(5)代码中至少包含15%的注释。
(6)注释使用中文。
1.2、文件名规范
(1)一个Java源文件只能存储一个Java类。
(2)文件名与Java类名相同。
1.3、声明规范
(1)一行声明一个变量。
(2)不要将不同类型变量的声明放在同一行。
(3)在代码块的开始处声明变量。
(4)所有的变量必须在声明时初始化。
(5)避免声明的局部变量覆盖上一级声明的变量。
(6)方法与方法之间以空行分隔。
1.4、编程规范
(1)提供对实例以及类变量的public或private访问控制,尽可能不适用默认值或protected访问控制。
(2)避免用一个对象访问一个类的静态变量或方法。应该用类名代替。
(3)避免在一个语句中给多个变量赋相同的值。
(4)用switch()语句实现多路分支。
(5)用于设置对象状态的方法前缀必须是set;用于检索一个布尔类型对象状态的方法前缀必须是is,而用于检索其他方法前缀必须是get。
(6)程序中应尽可能少使用数字(或字符),尽可能定义静态变量来说明该数字(或字符)的含义。程序中需要赋值或比较时,使用前面定义的静态变量。在循环控制中例外。
2、程序的总体设计图
3、程序结对编程过程及功能实现情况
3.1、 结对编程过程:
通过qq上的讨论,以及多次的联合编写,及其代码改错,代码优化,加之在eclipse上的调试,完成此次结对编程。
3.2、部分代码及其功能的实现
4、项目github地址
小组的仓库地址:https://github.com/localhost999/shengmingyx
5、实验总结
经过了小组之间的沟通与讨论完成了初次的结对编程,此次实验对于编程的规范有了更好的了解,两人之间的编写对于遇到的问题可以互相解答,大大提高了效率。使本来有些枯燥的写代码过程变得有了些许的趣味性。在编写的过程中两人可以互相交换好的想法及方法,来更好地实现代码功能,进而锻炼了共同协作的能力,解决问题也更加方便,也使得代码功能更加完美。