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参与对象 #
相关技术人员。