任务2:
(1)季英杰的博客链接地址
https://i.cnblogs.com/EditPosts.aspx?opt=1
(2)结对成员对四则运算项目进行代码互审,并给出代码审查结果表
吴思的代码审查表(由季英杰完成)(10分)
季英杰的代码审查表(由吴思完成)(10分)
|
内容 |
吴思 |
季英杰 |
1.概要部分 |
1)代码符合需求和规格说明么? |
符合 |
符合 |
2)代码设计是否考虑周全? |
是 |
是 |
|
3)代码可读性如何 |
可读性良好 |
可读性良好 |
|
4)代码容易维护么? |
不易维护 |
不易维护 |
|
5)代码的每一行都执行并检查过了吗? |
是 |
是 |
|
2.设计规范部分 |
1)设计是否遵从已知的设计模式或项目中常用的模式 |
是 |
是 |
2)有没有硬编码或字符串或数字等存在? |
有 |
有 |
|
3)代码有没有依赖于某平台,是否会影响将来的移植(如Win32到Win64)? |
没有依赖平台
否 |
没有依赖平台
否 |
|
4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现? 是否存在类似的功能可以调用而不用全部重新实现? |
没有
否 |
没有
否 |
|
5)有没有无用的代码可以清除? (很多人想保留尽可能多的代码, 因为以后可能会用上, 这样导致程序文件中有很多注释掉的代码,这些代码都可以删除,因为源代码控制已经保存了原来的老代码。 |
没有 |
没有 |
|
3.代码规范部分 |
修改的部分符合代码标准和风格么(详细条文略) ? |
符合 |
符合 |
4.具体代码部分 |
1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? |
有对错误进行处理,检查了返回值 |
有对错误进行处理,检查了返回值 |
2)参数传递有无错误, |
无错误 |
无错误 |
|
3)有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足? |
没有 |
没有 |
|
4)数据结构中有没有用不到的元素? |
没有无用元素 |
没有无用元素 |
|
5.效能 |
1)代码的效能( Performance )如何? |
效能较好
|
效能较好
|
2)代码中,特别是循环中是否有明显可优化的部分 |
否 |
否 |
|
3)对于系统和网络的调用是否会超时?如何处理? |
否 |
否 |
|
6.可读性 |
代码可读性如何?有没有足够的注释? |
可读性高,有足够注释 |
可读性高,有足够注释 |
(3)选取其中一个成员的项目为基础,进行结对编程。结对项目撰写的博客要求:(30分)
(a)结合课堂讲授内容,制订一份2人共同遵守的代码编写基本规范(至少包括注释规范与变量命名规范)。
- 不把多条语句放在一行上,不把多个变量定义在一行上。
- 最小缩进变量为4个空格,不使用Tab键。
- 定义变量和函数时,最好使用有意义的英文,尽量不用拼音。
- 尽量避免变量名过长。
- 变量的后面注释变量含义,类的后面注释类的功能。
- 变量命名适当结合下划线和数字。
(b)描述结对编程的感受。
结对编程可以起到督促的作用,可以更高效的进行整体架构设计,虽然结对编程降低了一些效率,但是写出的代码错误率也降低了,代码质量提高了。
(c)结对场景照片
(4)结对项目编程要求:(40分)
对结对项目首先完成代码规范和设计规范的修改,其次完成项目增加的需求,最后将完成的项目提交到github上,给出github的连接地址,可以给出简单的设计说明。
增加的需求:(a)考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。
提示“输入错误,请重新输入”
(b)增大算式生成数的范围(如整数存不下的数),程序如何处理。
Github链接地址:https://github.com/vampire415/vamp