Code review

Code Review目的 #

Code Review是一种用来确认方案设计和代码实现的质量保证机制,通过这个机制我们 可以对代码、测试过程和注释进行检查。 Code Review主要用来在软件工程过程中改进代码质量,通过Code Review可以达到 如下目的:

  • 在项目早期就能够发现代码中的bug,将bug扼杀在摇篮中。
  • 帮助初级开发人员学习高级开发人员的经验,达到知识共享。
  • 避免开发人员犯一些很常见,很普通的错误。
  • 保证项目组人员的良好沟通。
  • 项目或产品的代码更容易维护。
  • 提升代码质量,提高团队开发效率。

Code Review前提条件 #

代码提交审核前,开发者必须确保代码符合如下条件,审核者需要确保所有前提条件 都已满足方可开始审查,同时也是审查的主要检查点。

  • 所有代码注释清晰,语法正确,编译通过。
  • 日志代码完整,中文描述,脱敏处理,状态变更,全部清晰明确。
  • 测试代码覆盖全部分支和流程,暂时统一使用工具Alibaba Java Coding Guidelines(idea 插件)进行代码检查。PS: 使用Alibaba Java Coding Guidelines插件扫描代码后,不符合规范的代码按Blocker(崩溃)/Critical(关键)/Major(重要)分为三个等级,前两个级别必须处理。

Code Review审查范围 #

代码的一致性、编码风格、代码的安全问题、脱敏问题、代码冗余、是否正确设计以符 合设计要求(性能、功能)与设计文档相同等。

  • 完整性检查(功能点、业务日志、异常日志等)
  • 一致性检查(代码逻辑是否符合设计文档,代码风格是否统一等)
  • 正确性检查(编码规范,注释准确,变量定义和使用等)
  • 可修改性检查(如字典值123,使用专门的常量类等)
  • 可预测性检查(死循环、无穷递归、数组越界、空指针等)
  • 可理解性检查(命名规则、注释是否清晰、gitlab修订记录描述清晰等)
  • 代码逻辑检查(如实现过于复杂、代码可读性、扩展性等)
  • PS:优先级从上到下

Code Review的步骤 #

  • (1)Code Review由项目负责人发起,代码编写者、代码评审人和项目负责人参与。

  • (2)代码编写者按照设计文档中的用例(或流程图)依次讲解自己所写的代码和相关逻辑,可采用从前端到后台的方式,例如从Web层->DAO层。

  • (3)代码评审人在此过程中可以随时提出自己的疑问,同时积极发现隐藏的bug ;

  • 项目负责人对这些bug记录在案。

  • (4)项目负责人将审核结果、审核记录提交至gitlab。

  • (5)代码编写者根据gitlab审核结果,进行代码修改。

  • (6)代码编写者代码修改完成后提交项目负责人再次进行审核。

  • (7)代码评审结束后,将有价值的问题归纳总结。

Code Review的时间 #

Code Review由项目负责人发起,一个项目过程中至少2-3次,主要集中在项目中后期,如果项目规模较大,功能较多,时间比较宽裕,也可适当增加。

Code Review的对象 #

项目开发人员。

Code Review参与对象 #

相关技术人员。