标签:
本次作业选做:复审自己或别人的代码找出一些问题
本次代码复审选取http://wenku.baidu.com/view/d827a62de45c3b3567ec8baa.html?from=search处代码,感谢作者的材料贡献,下面写的不好的还希望作者和各位读者指出,并且为之致歉。
复审人: CLX 复审时间: 2016/03/12
复审代码表 |
||
复审内容 |
复审结果 |
|
概要部分 |
1)代码符合需求和规格说明么? |
完成前三名分数计算为完成前五名分数计算 |
2)代码设计是否考虑周全? |
否,未提供修改成绩功能,防止意外输错 |
|
2)代码可读性如何? |
强 |
|
3)代码容易维护么? |
容易维护 |
|
5)代码的每一行都执行并检查了吗? |
是 |
|
设计规范部分 |
1)设计是否遵从已知的设计模式或项目中常用的模式? |
采用瀑布模式 |
2)有没有硬编码或字符串、数字等存在? |
有,计算总分时奖项对应得分是硬编码 |
|
3)代码有没有依赖与某一平台,是否会影响将来移植? |
作者采用windows+Vc++6,。0开发,但分块耦合性低,具有可移植性 |
|
4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现呢? |
本项目中存在大量排序,可以将排序功能做成模块,然后在其他程序里调用。 |
|
5)有没有无用的代码可以删除? |
无 |
|
代码规范部分 |
修改的部分符合代码标准和风格么? |
(文档中为显示) |
具体代码部分 |
1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? |
有对错误进行处理 调用外部函数无返回值检查 |
2)参数传递有无错误,字符串的长度是字节长度还是字符的长度,是以0开始计数还是以1开始计数? |
参数传递正确 无字符串传递 |
|
3)边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环? |
Switch没有写default分支,只有输入为0~7情况; 没有 |
|
4)有没有使用断言来保证我们认为不变的条件真的得到满足? |
没有使用断言 |
|
5)对资源的利用,是在哪里申请,在哪里释放? |
从变量的生命周期开始时,由操作系统分配,结束时释放。 |
|
6)数据结构中有没有用不到的元素? |
无 |
|
效能 |
1)代码的效能如何?最坏的情况是怎样的? |
由于使用排序,数据较大时速度慢。O(n^2) |
2)代码中,特别是循环中是否有明显可优化部分? |
有,代码中大量使用排序而且是冒泡排序,可以优化 |
|
3)对与系统和网络的调用是否会超时?如何处理? |
本代码大数据时,耗时长,没有调用其他系统,不需要网络 |
|
可读性 |
代码可读性如何和?有没有足够的注释? |
可读性强 有足够注释 |
可测试性 |
代码是否需要更新或创建新的单元测试? |
单元测试已经足够 |
复审人签字 |
|
标签:
原文地址:http://www.cnblogs.com/chen20135517/p/5270186.html