一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、实验内容
1、代码规范
1.命名规范
(1)所有的标示符都只能用ASCⅡ字母(A-Z或a-z)、数字(0-9)和下划线“_”。
(2)一个唯一包名的前缀总是全部小写的字母。例如:www.tonysun.cc
(3)类名是一个名词,采用大小写混合的方式,每个单词的首字母大写。例如:Tony。
(4)接口的大小写规则与类名相似:例如:Tony。
(5)方法名是一个动词或动词词组,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写。例如:setNeekeName(String neekeName)。
(6)变量名第一个字母小写,任何中间单词的首字母大写。变量名应简短且可以顾名思义,易于记忆。例如:neekeName、neekeAddress。避免单个字符的变量名,除非是一次性的临时变量。
(7)常量的声明应该全部大写,每个单词之间用“_”连接。例如:final String WWW_TONY_CN = "www.tonysun.cc";
2.注释规范
(1)注释尽可能使用“//”;对于所有的javadoc的注释则使用“/** */”;而临时对代码块进行注释尽量使用“/* */”。
(2)所有的源文件都应该在开头有一个注释,其中列出文件名、日期和类的功能概述。
(3)每个方法必须添加文档注释(类的main()方法除外)。
(4)每个属性必须添加注释。
(5)代码中至少包含15%的注释。
(6)注释使用中文。
3.缩进排版规范
(1)避免一行的长度超过60个字符。
(2)使用Eclipse的源代码的格式化功能完成代码的缩进排版(Ctrl+Shift+F)。
4.文件名规范
(1)一个Java源文件只能存储一个Java类。
(2)文件名与Java类名相同。
(3)一个类文件的代码行不超过200行。
5.声明规范
(1)一行声明一个变量。
(2)不要将不同类型变量的声明放在同一行。
(3)只在代码块的开始处声明变量。
(4)所有的变量必须在声明时初始化。
(5)避免声明的局部变量覆盖上一级声明的变量。
(6)方法与方法之间以空行分隔。
6.语句规范
(1)每行至少包含一条简单语句。
(2)在return语句中,返回值不使用小括号“()”括起来。
(3)if语句总是用“{”和“}”括起来。
(4)在for语句的初始化或更新子句中,避免因使用三个以上变量,而导致复杂度提高。
(5)当switch的一个case顺着往下执行时(因为没有break语句),通常应在break语句的位置添加注释。
7.编程规范
(1)提供对实例以及类变量的public或private访问控制,尽可能不适用默认值或protected访问控制。
(2)避免用一个对象访问一个类的静态变量或方法。应该用类名代替。
(3)避免在一个语句中给多个变量赋相同的值。
(4)用switch()语句实现多路分支。
(5)如果使用JDBC,则考虑使用java.sql.PreparedStatement,而不是java.sql.Statement。
(6)用于设置对象状态的方法前缀必须是set;用于检索一个布尔类型对象状态的方法前缀必须是is,而用于检索其他方法前缀必须是get。
(7)程序中应尽可能少使用数字(或字符),尽可能定义静态变量来说明该数字(或字符)的含义。程序中需要赋值或比较时,使用前面定义的静态变量。在循环控制中例外。
2、程序的总体设计
程序流程图:
3、结对编程过程
在结对编程过程中一开始实现的是自定义的数字,无法进行修改数字,通过小组进行屏幕分享以及查阅资料增加了随机生成随机数功能
商讨结果如下
运行结果截图:
4、项目github地址:https://github.com/1772035039/-
5、实验总结
此次项目,由我和郭建琛同学一起结对编程,我们各负责一部分代码的编写。我们在设计功能时会提出各自的想法,经过讨论选择更合适的方法。在结对编程之后,我感受到了结对编程的优点在于,在我编写代码的过程中,郭建琛同学会在旁边找出我的错误,让我能及时修改代码,这样提高了编程效率,节约时间。在结对编程中,郭建琛同学提出了不同的想法,让我有所收获。从中发现了我们许多的不足,在以后的学习中会改进,争取做的更好。