结对作业
一、结对成员博客链接地址
https://www.cnblogs.com/jiangdi135792/p/11734863.html
二、代码复审核查表
|
内容 |
姜迪 |
赵金辉 |
|
|
1.概要部分 |
1)代码符合需求和规格说明么? |
符合 |
符合 |
|
2)代码设计是否考虑周全? |
是 |
是 |
|
|
3)代码可读性如何 |
可读性高,意图明确 |
可读性高,逻辑清晰 |
|
|
4)代码容易维护么? |
代码方便后期维护 |
易维护 |
|
|
5)代码的每一行都执行并检查过了吗? |
是 |
是 |
|
|
2.设计规范部分 |
1)设计是否遵从已知的设计模式或项目中常用的模式 |
是 |
是 |
|
2)有没有硬编码或字符串或数字等存在? |
有 |
有 |
|
|
3)代码有没有依赖于某平台,是否会影响将来的移植(如Win32到Win64)? |
没有依赖平台
否 |
没有依赖平台
否 |
|
|
4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现? 是否存在类似的功能可以调用而不用全部重新实现? |
没有
否 |
没有
否 |
|
|
5)有没有无用的代码可以清除? (很多人想保留尽可能多的代码, 因为以后可能会用上, 这样导致程序文件中有很多注释掉的代码,这些代码都可以删除,因为源代码控制已经保存了原来的老代码。 |
没有 |
没有 |
|
|
3.代码规范部分 |
修改的部分符合代码标准和风格么(详细条文略) ? |
符合 |
符合 |
|
4.具体代码部分 |
1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? |
有对错误进行处理并处理了异常 |
有对错误进行处理,检查了返回值 |
|
2)参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单1双字节)的长度, 是以0开始计数还是以1开始计数? |
否 从0开始 |
否;从0开始 |
|
|
3)边界条件是如何处理的? switch 语句的default分支是如何处理的?循环有没有可能出现死循环? |
在最先开始确定便捷条件; 当没有default分支时,如果没有满足条件的case,直接结束switch; 不会出现死循环。 |
先确定边界条件是什么,没有default分支时,无满足条件语句直接跳出switch语句,不会出现死循环。 |
|
|
4)有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足? |
没有 |
没有 |
|
|
5)对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄漏(内存、文件、 各种GUI资源、数据库访问的连接,等等) ?有没有优化的空间? |
全局变量,在程序运行完后释放掉;无动态申请资源的地方,执行到的时候申请,没有执行到的时候储存在类中,不会出现泄露 |
申请全局变量,在程序运行完后释放掉; 有限次申请,所以可能不会导致资源泄露。 |
|
|
6)数据结构中有没有用不到的元素? |
否 |
否 |
|
|
5.效能 |
1)代码的效能( Performance )如何? |
效能较好
|
效能较好
|
|
2)代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中string的操作是否能StringBuilder来优化) ? |
否 |
否 |
|
|
3)对于系统和网络的调用是否会超时?如何处理? |
否 |
没有相关调用 |
|
|
6.可读性 |
代码可读性如何?有没有足够的注释? |
可读性高,有足够注释 |
可读性高,有足够注释 |
|
7.可测试性 |
代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库、网页、多线程等),可以整理专门的核查表。 |
是
没有上述要求 |
是
无此需求
|
三、结对照片

四、项目设计说明
1.代码规范:
- 便于阅读代码,每行代码的长度应少于100个字符。
- 所有命名应语义化,使用单词缩写,禁止用拼音缩写命名,如.hfk{…}。
- 变量的后面注释变量含义,类的后面注释类的功能。
- 变量命名用变量的英文来命名利用驼峰命名法适当结合下划线和数字。
五、感受
- 两个人结对可以互相找到自己平时发现不了的思维盲区,使程序功能更完善,简介。
- 思维碰撞会产生更好的解决方法,提高程序的用户体验,运行效率。
- 可以一起学习不会的知识,两个人互相探讨难点。
- 验了代码的书写规范,因为代码要保证另一个人能看懂,简单清晰明了,才能保证更好的协作。
六、Github链接地址
https://github.com/liuhf-jlu/jiangdi.git
浙公网安备 33010602011771号