外文文章翻译(三) -- 高效代码审查的一些小技巧

本人声明

1.本栏仅为归档自己看到的优秀文章;
2.文章版权归原作者所有;
3.因为个人水平有限,翻译难免有错误,请多多包涵。

原文地址

https://www.codeguru.com/tools/best-code-review-tips-for-effective-reviews.html

文章正文

高效代码审查的一些小技巧

作者: Tapas Pal 发表于:2018.01.29

  • 概述
    代码审查是用来确保代码可读性和可维护性的的过程;它检查代码是否满足功能要求,确保团队了解基本的代码,发现BUG,使开发人员能够采用最佳编码方式,从而最终提高软件质量。代码审查员将审查应用程序的源代码,并将审查结果告知开发人员。在代码审查期间,审阅者将专注于基本的单元测试、代码注释和编码规范、异常处理、内存泄漏、线程的使用、控制结构、代码性能、实现的功能和代码安全性。
    根据我的从业经验来说,我想分享以下几个最佳的代码审查技巧和方法,审查人员可以遵循这些技巧和方法进行有效的代码审查。

  • 代码审查过程
    代码审查是在开发人员完成功能开发并将代码签入代码存储库时启动的。在代码签入之前,开发人员必须确保代码能够成功编译并且单元测试结果为绿色(绿色代表代码被单元测试覆盖到)。一旦签入代码存储库,开发人员将创建审阅请求并将其分配给同一团队中的另一个开发人员进行同行审查。在同行审查者完成对代码的评审并且开发人员进行所有必要的修改之后,开发人员将修改后的代码合并到主开发代码库分支中。在内部同行审查后,可以启动额外的外部代码审查流程。建议所有开发人员遵循上述审查过程,尽可能简单轻松地进行代码审查。

  • 代码审查计划
    在进行代码审查之前,开发人员应该列出计划和设置代码审查的目标。为了保证代码审查活动的有效性,他们应该与开发团队讨论如何构建功能。接触几个团队中之前参与过代码库开发的高级开发人员,以降低代码审查的风险。

  • 审查清单
    审查清单对审查者和代码编写者都很重要;没有审查清单,如果代码编写者忘记了某项任务,那么审查人也有可能会遗漏。清单将确保代码编写者和审查者能够审查代码的所有相关部分,并针对每项记录相应的问题和缺陷。能降低您出错的概率。

  • 利用代码审查工具
    选用正确的代码审查工具非常重要,目前市场上有几种不同类型的代码审查工具。CodeCollaborator是一个轻量级的代码审查工具,利用它,您可以减少您的团队代码审查所花费的时间。

  • 代码审查的简短会议
    将代码审查流程拆分为多个简短会话并进行多次休息,是代码审查的最佳做法。一小时的代码审查会议通常是有效的。作为审阅者,尝试将审查清单中的任务分解为较小的子任务,从而逐个查看更小、更易于管理的代码块。

  • 代码查看上限是400行
    作为代码审查者,一次审查超过200行代码,审查将会变得非常困难。为了保证审查质量,审阅者审查的代码不应超过400行。在较长的代码审查活动时,中间应该进行休息活动。

  • 同行审查
    在进行外部审查之前,请务必确保已解决内部同行评审发现的所有问题。同行评审(文档和代码由其编写者和同一团队的一个或多个同事进行检查,以评估其技术和代码质量)是一种重要的代码审查活动。

  • 设计和界面审查
    在代码审查期间,审查者应从设计文档和变更记录开始,关注每一项开发者必须要完成的设计功能。大多数审查者只是审核代码并提供反馈;他们往往会忘记关注应用程序在浏览器的样子或软件在运行设备上的界面。建议审阅者花费额外的时间来检查界面设计,方法是检查用户界面的外观以及提到的所有界面更改是否与预期的功能相关。

  • 代码审查注解文档
    作为审查者,请确保正确记录所有代码审阅注解,无论是通过电子邮件、Word文档或Excel工作表的方式。如果您使用的是组织内部标准审查工具,请在其中添加审查注解并将其传达给开发人员\代码编写者。对于具有拥有一定软件能力成熟度集成模型(CMMI)级别的组织,该组织必须在中央存储库中维护代码审查文档。代码审查文档可帮助开发人员进行交叉检查重点标出的问题,并避免将来再出现类似的错误。

  • 审查指标
    以下是审核期间应给出的一些指标:
    审查时间:此指标确定开发人员花在代码审核上的时间。
    缺陷计数:代码审查期间发现了多少缺陷
    审查代码百分比:它计算每位开发人员审查代码所占百分比。
    代码覆盖率:审查代码所占比例。

  • 代码准备工作
    在每次代码审查活动进行之前,每个开发人员都应该检查他们的代码是否存在常见错误,检查是否编写了足够的测试用于自动审查,并验证他们的代码是否根据相关的代码规范进行编写。在开发环境中获取最新版本的代码,并让持续集成服务器通过运行一系列先前编写的自动化测试程序的方式,来检查新提交的每个代码块。只有当代码成功通过这些测试后,审查者才应开始代码审查。

  • 结论
    我希望这些代码审查技巧可以帮助代码审查者和开发人员更好地进行代码审查活动。审查者可能很难与开发人员合作,会指出许多不正确或可以改进的事情,但应始终以建设性的方式追求更好的代码审查流程,从而使组织获得最大利益。
    代码审查非常重要,它是开发过程的重要组成部分;通过代码审查,可以提高软件质量,并帮助软件开发人员不断提高他们的技能。祝您阅读愉快!

  • 关于作者
    我在Microsoft Technology工作了15年,目前在印度Cognizant Technology Solutions担任高级架构师。我已经通过了TOGAF 9.1,.NET 1.1,.NET 2.0,SQL Server 2005和Sharepoint的微软认证。请访问我的博客 - http://tapas-pal.blogspot.com/

  • 相关文章
    Using Additional Data in ASP.NET Membership
    Using String.format and Data Formatting in C#
    Using Sections and Partials to Manage Razor Views

栏目导航
上一篇:技术文章翻译(二) – 一种简单的解决方案:使用Visual Studio Code编写C和C ++代码
下一篇:技术文章翻译(四) – 现代C++避免产生BUG的相关技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值