如何进行有效的代码检查
代码检查包括代码的自查和互查,目的是保证在送测之前,消除一些低级的错误,提高代码的送测质量。
代码检查是很重要的一个环节,但是如何才能有效地检查代码,业界没有一个统一的认识。SmartBear SoftWare根据他们的调查和研究,给我们提供了11条代码互查的准则(英文原文下载),7条面向项目开发者,4条面向项目管理者,如下是我根据原文的理解,总结的面向开发者的7条准则,如有理解错误,欢迎大家指正。
1, 每次检查的代码应该少于200~400行
Cisco的代码检查研究显示:每次检查的代码应该少于200~400行,超过400行,检查错误的能力就会下降。
如下图所示,当代码检查行数超过400行时,几乎很少能检查出bug。
代码密度是指每千行检查出的bug数。
2, 代码检查的速度应该小于300-500行/小时
代码检查的速度太快和太慢都不好,如果没有占用足够的时间去检查,就不可能找到多的错误,如果检查的代码很多的话,就不可能去关注每一行改动。
研究显示,每小时检查300-500行代码,效果是最好的。
如上图,大家会发现,当我们每小时检查的代码超过1000行时,我们基本上是发现不了任何bug的。
3, 每次代码检查不要超过60-90分钟
上面我们讨论了代码检查的量和速度,同时,我们代码检查的持续时间也不能太长。代码检查持续的时间超过一个小时,检查者的会精疲力尽(审美疲劳更通俗一些),所以检查的效果也会大打折扣。证据显示,代码检查超过60-90分钟,效率会明显下降。另一方面,检查的时间也不能太短,至少也要超过5分钟,尽管检查的代码只有一行,有时候影响面也是非常大的,值得花5分钟去考虑清楚。
4, 开始代码检查时,被检查者应该事先检查代码修改的内容
让被检查者首先进行代码的修改点的自我检查,目的是在代码互查之前代码的作者重新检查和思考自己的代码,避免一些低级的错误出现。此外,先进行自我的检查也会加快代码互查的进度。
5, 要明确代码检查的目标和判断有效性的标准
在项目中,要事先确定检查的目标和判断有效性的标准。一旦确定目标,我们就可以判断是否达到了期望的结果。制定的目标要明确,不能太模糊,例如“修正尽可能多的bug”,这个目标根本无法判断是否完成。
在项目进行过程中,根据实际情况 和代码互查的执行情况,去及时调整和改进目标,使得代码检查的目标更好地完成。
6, 制定代码互查的checklists
checklists中记录容易犯的错误点,是在代码检查过程中需要检查的点。checklists可以让让你在检查过程中,保证经常犯错误的点都被检查。
在项目刚开始,尽可能多的列出经常出错的点,随着检查的进行,你会发现这些错误点都已经被深刻的理解,并且出错的几率也会下降。
7, 确认错误被修复
经过代码检查后,检查出的错误当然是需要修复的。但是许多的代码检查并不会追踪检查出的错误是否正确地被修复了。所以,应该把确认检查出的错误点被正确地修复也作为代码检查的一部分。
作者:Dang Jian
出处:http://www.cnblogs.com/dangjian/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
同时请关注我的独立博客-http://www.dang-jian.com。