如何进行有效的代码检查

如何进行有效的代码检查

代码检查包括代码的自查和互查,目的是保证在送测之前,消除一些低级的错误,提高代码的送测质量。

代码检查是很重要的一个环节,但是如何才能有效地检查代码,业界没有一个统一的认识。SmartBear SoftWare根据他们的调查和研究,给我们提供了11条代码互查的准则(英文原文下载),7条面向项目开发者,4条面向项目管理者,如下是我根据原文的理解,总结的面向开发者的7条准则,如有理解错误,欢迎大家指正。

1, 每次检查的代码应该少于200400

Cisco的代码检查研究显示:每次检查的代码应该少于200400行,超过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, 确认错误被修复

经过代码检查后,检查出的错误当然是需要修复的。但是许多的代码检查并不会追踪检查出的错误是否正确地被修复了。所以,应该把确认检查出的错误点被正确地修复也作为代码检查的一部分。

 

原文地址:https://www.cnblogs.com/Leo_wl/p/1768241.html