任务1:(5分)
在学习通上注明结对的成员对 2贺仲超-----2李金涛
提供你的结对成员的博客链接地址(5分)
贺仲超:https://www.cnblogs.com/hzcxwz/
结对的成员共同完成本次作业,撰写博客并将结对项目的程序发布到github上
贺仲超的代码审查表(由李金涛完成)(10分)
内容 | 审查结果 | |
概要部分 | 代码符合需求和规格说明 | 是 |
代码设计是否考虑周全 | 是 | |
代码可读性如何 | 好,有注释 | |
代码容易维护吗 | 容易 | |
代码功能是否测试过 | 是 | |
设计规范本分 | 有无硬编码或字符串/数字等存在 | 无 |
设计是否遵从已知的设计模式或项目常用模式 | 是 | |
有无代码可以删减 | 无 | |
代码规范部分 | 修改部分符合代码标准和风格 | 符合 |
具体代码部分 |
有无对错误惊醒处理?是否检查返回值或处理异常 |
有 |
swich分支,是否死循环 | 无 | |
有没有使用断言 | 无 | |
数据结构中有无没有使用到的元素 | 无 | |
参数传递有无错误 | 无 | |
效能 | 代码的效能如何 | 一般 |
代码有无可优化的部分 | 有 | |
系统和网络的调用是否会超时 | 否 | |
可读性 | 代码可读性如何? | 良好 |
有没有足够的注释 | 有 |
李金涛的代码审查表(由贺仲超完成)(10分)
内容 | 审查结果 | |
概要部分 | 代码符合需求和规格说明 | 是 |
代码设计是否考虑周全 | 是 | |
代码可读性如何 | 好 | |
代码容易维护吗 | 容易 | |
代码功能是否测试过 | 是 | |
设计规范本分 | 有无硬编码或字符串/数字等存在 | 无 |
设计是否遵从已知的设计模式或项目常用模式 | 是 | |
有无代码可以删减 | 无 | |
代码规范部分 | 修改部分符合代码标准和风格 | 符合 |
具体代码部分 |
有无对错误惊醒处理?是否检查返回值或处理异常 |
有 |
swich分支,是否死循环 | 无 | |
有没有使用断言 | 无 | |
数据结构中有无没有使用到的元素 | 无 | |
参数传递有无错误 | 无 | |
效能 | 代码的效能如何 | 一般 |
代码有无可优化的部分 | 有 | |
系统和网络的调用是否会超时 | 否 | |
可读性 | 代码可读性如何? | 良好 |
有没有足够的注释 | 有 |
选取李金涛项目为基础,进行结对编程。结对项目撰写的博客要求:(30分)
a)结合课堂讲授内容,制订一份2人共同遵守的代码编写基本规范(至少包括注释规范与变量命名规范)。
1、注释要求在每个类中前面给出主要功能的实现,并且在关键变量、语句中给出注解。
- 注释要求英文及英文的标点符号。
- 注释中,应标明对象的完整的名称及其用途,但应避免对代码过于详细的描述。
- 每行注释的最大长度为100个字符。
- 将注释与注释分隔符用一个空格分开
- 不允许给注释加外框。
- 编码的同时书写注释。
- 重要变量必须有注释
- 变量注释和变量在同一行,所有注释必须对齐,与变量分开至少四个“空格”键。
2、用number来控制输入的个数。
3、用zf来判断要不要有负数的存在。
4、用symbol来控制符号的选择。
5、每个“{”和“}”都独占一行。
6、缩进用4个空格代替Tab键。
7、每条语句独占一行。
8、多分支语句要有层次感。
b)描述结对编程的感受
对于结对编程,我有以下感受:
1、在结对编程模式下,一对程序员肩并肩、 平等地、互补地进行开发工作。他们并排坐在一台 电脑前,面对同一个显示器,使用同-个键盘、同-一个鼠标起工作。他们一起分析,一起设计一起写测试用例,-起编码,一起做单元测试,一起做集成测试,一起写文档, 等等。
2、在我进行编程的过程中,难免会有思维不够清晰的时候,也会有一些不记得的语法规则,此时有一个队友在身旁,可以与你讨论或者一起查阅资料,对你编程中的一些小bug也会指摘出来,这样我个人觉得会提高我编程的效率,也会减少代码的出错率。
3、每个人都有各自的编程风格,写代码时也有各自的一些小技巧,因此结对编程也是一个相互学习的过程,有力于学习别人的长处和了解自己的不足。(c)结对场景照片
c)结对场景照片
(4)结对项目编程要求:(40分)
对结对项目首先完成代码规范和设计规范的修改,其次完成项目增加的需求,最后将完成的项目提交到github上,给出github的连接地址,可以给出简单的设计说明。
增加的需求:
(a)考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。
(b)增大算式生成数的范围(如整数存不下的数),程序如何处理。
地址链接:https://github.com/h20194627/code/blob/master/ZX/src/com/M.java