问Stack 如何检查自己的代码?

这个问答是两周一次的系列文章的一部分,强调了技术爱好者遇到的常见问题,并由80多个问答站点组成的免费社区网络Stack Exchange的用户回答。高尔嘉问:

我 m独自一人在做一个项目,必须维护我自己的代码。通常,代码审查应该由作者以外的其他人完成,这样审查人员就可以用新的眼光看待代码。我没有这样的奢侈。我可以使用哪些实践来更有效地审查我自己的代码?

回答:核对与更新( 7票)阿迪雅·萨海回答:

看来普遍的看法是自我检讨没有效果。我不同意,我认为如果做得彻底的话,自我检讨可以抓住很多问题。

以下是我几年经验的提示:

手边有一份粗略的清单。这些是您在阅读代码时要标记的内容。使代码审阅脱机。这听起来可能很浪费,但是可以将打印输出添加注释并来回翻转,或者将数字等同于与iPad同步的高亮显示pdfs,然后将其脱机。离开你的办公桌,这样你所做的就是不受干扰地检查你的代码。每天清晨做,而不是工作日结束。新鲜的一双眼睛更好。事实上,在重新检查代码之前,离开代码一天可能会有所帮助。仅供参考——这些指导原则是Oracle几年前在那里工作时提出的建议的一部分,目的是在代码进入测试之前上游捕获错误。它帮助很大,尽管很多开发人员认为这是一项枯燥的工作。

回答:延迟和文档( 11票) Jim C回答:

首先,只要可行,就把代码放在一边。做别的事情,做别的代码。即使过了一天,你也会惊讶于你会发现什么。

其次,记录您的代码。许多程序员不喜欢记录他们的代码,但是让自己坐下来写文档,如何使用代码以及如何工作。通过以不同的方式查看代码,您会发现错误。

有人说,真正掌握一门学科就是把它教给别人。有了文档,你正试图教别人你的代码。

回答:橡皮鸭评论( 10票)帕特里克·休斯回答:

将橡皮鸭调试技术转换为代码评论技术。

这个概念让你在处理代码时有一种正确的心态,就好像它是新的一样,从而产生了奇迹。

当然,您也可以使用在线工具,如代码审查、源监视器和klocwork。

回答:走历史与静态( 9票)托马斯·欧文斯回答:

个人软件审查流程技术可能有用,尽管它依赖于您的工作和产品质量的历史数据。

您从工作产品的历史数据开始,特别是缺陷的数量和类型。缺陷分类有多种方法。你可以发展自己的,但想法是你需要能够分辨出你在前进的过程中犯了什么错误。

一旦你知道你犯了什么样的错误,你就可以制定一份清单,供你在复习时使用。这份清单将涵盖你认为最好在复习中抓住的最大错误(而不是使用其他工具)。每次你回顾一个工作成果,使用清单,寻找那些错误或错误,记录它们,并修复它们。不时定期修改此清单,以确保您将重点放在代码中真实的相关问题上。

我还建议在有意义的时候使用工具支持。静态分析工具可以帮助发现一些缺陷,有些甚至支持样式检查,以加强一致性和良好的代码样式。(本页提供了静态代码分析和代码审查之间的差异的一些说明。)使用带有代码完成和语法突出显示的IDE也可以帮助您在单击 build '之前防止或检测某些问题。单元测试可以涵盖逻辑问题。如果您的项目足够大或复杂,持续集成可以将所有这些结合到定期运行的过程中,并为您生成好的报告。

回答:打印并检查( 2票)用户20326 :

我通常打印出我的所有代码,并在安静的环境中坐下来通读它,通过这样做,我发现了许多需要重构的打字错误、问题和事情。这是一个很好的自我检查,我认为每个人都应该做。

你认为你知道审查自己代码的最佳方式,还是不同意上面表达的意见?在评论中留下你的答案,或者把它带到堆栈交换的原始帖子中。