第四章 缺陷管理
u 什么是缺陷
u 缺陷查找技术
u 代码复查
u 缺陷预测
4.3代码复查
表4.4 C++代码复查指南和检查表
目的
指导你进行有效的代码复查
#
#
#
#
累计
累计%
一般性说明
在完成每个复查步骤之后,将发现的某个类型的缺陷的个数记录在右边的栏目中。如果该步骤没有发现缺陷,就在右边的栏目中打个表示检查无误的叉号(×)。在开始复查下一个程序之前,要按照检查表完整对程序、类、对象或方法的检查。
完整性
验证设计的所有功能都已经编码。
Includes
验证Include语句是完全的。
初始化
检查变量和参数的初始化:
¨ 在程序的开始;
¨ 在每个循环的开始;
¨ 在函数/过程的入口。
调用
检查函数调用的格式:
¨ 指针;
¨ 阐述;
¨ “&”的使用。
名字
检查名字的拼写和使用:
¨ 是否前后一致?
¨ 是否在说明的作用域之内?
¨ 结构和类中变量的引用是否使用了“.”。
字符串
检查所有的字符串:
¨ 使用指针来表示的;
¨ 是以Null结尾的。
指针
检查所有的指针:
¨ 是初始化为Null;
¨ 是有在New(新建)之后才Delete(删除);
¨ 在New并使用之后要删除。
输出格式
检查输出格式:
¨ 换行是否合适;
¨ 间隔是否合适。
{}对
保证检查{}是适当的并且是成对的。
逻辑操作符
验证==,=,|| 逻辑操作符的使用是合适的;
检查每个逻辑函数的()是合适的。
逐行检查
检查每一行代码:
¨ 指令的语法是否正确?
¨ 标点是否正确?
¨ 符号是否正确?
标准
保证所有代码符合编码标准。
文件的打开与关闭
验证所有的文件:
¨ 是合适的声明的;
¨ 是合适的打开的;
¨ 是合适的关闭的。
全面检查
对整个程序进行全面的检查已发现系统问题和非期望的问题。
总计
定期更新检查表。随着时间的推移,检查表自然的要变大。但是,检查表的主要作用是帮助你把注意力集中在关键的方面。太大以后,你将失去重点。所以要定期复查缺陷数据,删除那些不能找到问题的表项。
从个人检查表的方法可以认识到,每个工程师都有各自的特点,某个工程师的实践经验对别人不一定适用。因而要设计出适合自己的检查表,并定期的对它进行检查以保证检查表更有效。只要你在代码复查中还遗漏缺陷,就要不断寻找改进检查表的方法。
进展是很缓慢的。最初,你发现缺陷的能力随着每次复查都有所提高。此后,提高将变得很困难。要坚持收集和分析缺陷数据,并坚持思考如何才能预防缺陷的产生或怎样更好的找到缺陷。只要坚持不断的做下去,就能在代码复查中不断进步,不断提高自己编写程序的质量。