第四次博客作业—结对项目
(1)结对成员的博客链接地址:
结对成员:2班 陶一鸣——2班 赵迎港
赵迎港博客链接地址:https://www.cnblogs.com/zyg777/p/11735707.html
(2)结对成员对四则运算项目进行代码互审,并给出代码审查结果表:
陶一鸣的代码复审核查表(由赵迎港完成):
1.概要部分 |
1.1代码符合需求和规格说明吗 |
符合 |
1.2代码设计是否考虑周全 |
是 |
|
1.3代码可读性如何 |
易读 |
|
1.4代码容易维护吗 |
容易 |
|
1.5代码每一行都执行并检查过了吗 |
是 |
|
2、代码设计规范
|
2.1设计是否遵从已知的设计模式或项目中常用的模式 |
是 |
2.2有无硬编码或字符串/数字等存在 |
无 |
|
2.3代码是否依赖某一平台,是否会影响将来的影响移植 |
否 |
|
2.4开发者新添功能/相似功能是否能用已有来调试 |
是 |
|
2.5有没有无用代码可删除 |
无 |
|
3、代码规范部分
|
修改的代码符合代码规范和风格吗 |
符合 |
4、具体代码部分
|
4.1有无对错误进行处理,对于调用外部函数,是否检查了返回值或处理了异常 |
是 |
4.2参数传递是否有错误,字符串长度是字节长度还是字符,是0开始计数还是1开始计数 |
否 0 |
|
4.3边界条件如何处理,switch语句的default分支如何处理,循环有没有可能出现死循环 |
无 |
|
4.4有无断言(Assert)来保证我们认为得不变条件得到满足 |
无 |
|
4.5对于资源的申请释放,有无泄漏,有无优化空间 |
有 |
|
4.6数据结构中有无用不到的元素 |
无 |
|
5、效能
|
5.1代码效能如何,最坏情况怎样 |
好 |
5.2代码中,特别是循环中有无明显的可优化 |
无 |
|
5.3对于系统和网络的调用是否超时,如何处理 |
否 |
|
6、可读性
|
代码可读性如何,有无足够注释 |
好 足够 |
7、可测试性
|
代码是否需要更新或创建新的单元测试 |
是
|
赵迎港的代码复审核查表(由陶一鸣完成):
1.概要部分 |
1.1代码符合需求和规格说明吗 |
符合 |
1.2代码设计是否考虑周全 |
是 |
|
1.3代码可读性如何 |
易读 |
|
1.4代码容易维护吗 |
容易 |
|
1.5代码每一行都执行并检查过了吗 |
是 |
|
2、代码设计规范
|
2.1设计是否遵从已知的设计模式或项目中常用的模式 |
是 |
2.2有无硬编码或字符串/数字等存在 |
无 |
|
2.3代码是否依赖某一平台,是否会影响将来的影响移植 |
否 |
|
2.4开发者新添功能/相似功能是否能用已有来调试 |
是 |
|
2.5有没有无用代码可删除 |
有 |
|
3、代码规范部分
|
修改的代码符合代码规范和风格吗 |
符合 |
4、具体代码部分
|
4.1有无对错误进行处理,对于调用外部函数,是否检查了返回值或处理了异常 |
是 |
4.2参数传递是否有错误,字符串长度是字节长度还是字符,是0开始计数还是1开始计数 |
错误 从0 |
|
4.3边界条件如何处理,switch语句的default分支如何处理,循环有没有可能出现死循环 |
无 |
|
4.4有无断言(Assert)来保证我们认为得不变条件得到满足 |
无 |
|
4.5对于资源的申请释放,有无泄漏,有无优化空间 |
有 |
|
4.6数据结构中有无用不到的元素 |
无 |
|
5、效能
|
5.1代码效能如何,最坏情况怎样 |
效率 |
5.2代码中,特别是循环中有无明显的可优化 |
有 |
|
5.3对于系统和网络的调用是否超时,如何处理 |
否 |
|
6、可读性
|
代码可读性如何,有无足够注释 |
好 有 |
7、可测试性
|
代码是否需要更新或创建新的单元测试 |
是 |
(3)选取其中一个成员的项目为基础,进行结对编程。结对项目撰写的博客要求:
(这里选用陶一鸣的代码为基础进行结对编程)
(a):结合课堂讲授内容,制订一份2人共同遵守的代码编写基本规范(至少包括注释规范与变量命名规范)。
缩进:4个空格
行宽:100个字符
括号:使用规范
断行与空白的{}行:行间区分清楚得当
分行:以分号为准
命名:见名知意,便于理解和后续修改
大小写:重要区分大小写规范
注释:类,方法,变量,命名后面注释清楚含义
(b):描述结对编程的感受。
这是第一次进行结对编程,在这个过程中充分感受到了两人共同合作的优点之处,当然也有一些不足之处。两人合作互相给对方的代码进行改进,由旁人来看自己的代码,自己发现不了的BUG对方有可能很轻易就发现,对方提出的修改意见要虚心倾听,然后做出合理的修改。两个人合作还能互相监督并且督促,遇到问题还有一个队友可以帮忙,这样可以增强队伍的自信心,两人共同努力让队伍朝着更好的方向发展!
(c):结对场景照片:
(4)结对项目编程要求:
github的连接地址:https://github.com/tym1996/tym
增加的需求:
(a)考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。
使用了 try{ } catch( ){ } 功能语句,控制用户输入数据的规范,如果不符合,比如输入 abc,其他符号,就会提示:错误的输入!请重新输入!然后程序就会重新进行循环,重新让用户输入规范的数值!
(b)增大算式生成数的范围(如整数存不下的数),程序如何处理。
解决的办法是如果整数存不下的数,程序也会提示错误!
本次结对编程的代码改进:
①本来程序都写在一个类中,现在把各项功能分出其他的分类单独写!
②主方法改进写到Test类中,生成题目的功能写入了其他的类,使得程序容易读懂和维护。
③删除了冗余的代码,是执行效率更加高效。
④增加了 try{}和catch(){}语句 来处理用户不按照规范输入产生的异常结果。