zoukankan      html  css  js  c++  java
  • 如何进行有效的代码检查

    如何进行有效的代码检查

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

    代码检查是很重要的一个环节,但是如何才能有效地检查代码,业界没有一个统一的认识。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, 确认错误被修复

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

     

  • 相关阅读:
    (转载)SAPI 包含sphelper.h编译错误解决方案
    C++11标准的智能指针、野指针、内存泄露的理解(日后还会补充,先浅谈自己的理解)
    504. Base 7(LeetCode)
    242. Valid Anagram(LeetCode)
    169. Majority Element(LeetCode)
    100. Same Tree(LeetCode)
    171. Excel Sheet Column Number(LeetCode)
    168. Excel Sheet Column Title(LeetCode)
    122.Best Time to Buy and Sell Stock II(LeetCode)
    404. Sum of Left Leaves(LeetCode)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1768241.html
Copyright © 2011-2022 走看看