系统开发CodeReview实施总结

1 为什么需要CodeReview

  1. 保证代码质量
  2. 通过他人的建议提升技术认知

2 CodeReview的流程

  1. 制定标准:进行CodeReview前一定要制定好标准。否认提交人和审阅人之间很肯定会引起很多无意义的争执,导致时间耗费增加。
  2. 学习标准:为了达成共识,需要大家一起学习标准,最终达成共识。
  3. 评审人前置准备:根据项目情况选择合适的人来评审,同时评审人需要为代码评审做好准备。包括需求学习、方案学习。
  4. 提交人前置准备:为了提高CodeReview效率,应该对代码提交制定相应标准,这样可以提高效率。
  5. 代码评审:根据标准原则及工程经验提出意见
  6. 总结分析迭代标准:根据CodeReview中产生的问题,进一步学习总结,迭代标准,改进下一次Review的效率。

上述是CodeReview的一种流程。这6步骤通常会形成一个闭环,持续迭代。接下来几部分将详细介绍这些过程的各个环节。

3 制定标准

3.1 为什么要制定标准

让团队对问题达成一致,避免无意义的冲突和时间消耗。同时出现问题时有一个可参考的解决标准。

3.2 如何制定标准

  • 有意义:制定的标准对于当前现状具有实际意义。能解决当前面临的主要问题。而不是开始就整理一大堆复杂且与主要矛盾无关的标准。
  • 充分调研:定标准的意义是让团队对问题能达成共识,因此需要与大家进行充分的讨论。而不是某个人主观臆断而定义。
  • 清晰明确:为了让大家达成共识,标准应该是清洗明确无二义性。
  • 可执行:标准最终是让团队参照并执行,因此大而虚最终无法执行的标准是不可行的。

3.3 制定哪些内容

3.3.1 标准内容制定

  • 冲突解决方案:如果review过程中出现冲突如何解决
  • 权利与责任:出现问题提交人与审核的应承担的责任
  • 特殊情况解决方案:出现紧急故障时review的过程。例如跳过review或仅又review核心部分代码。或针对其它特殊情况进行特殊制定。
  • review检查点:一次review应该关注哪些内容

3.3.2 提交人提交标准制定

进行一次CodeReview并不是随意就能发起。这样进行CodeReview的效率会很低。因此也需要满足一定条件。

  • 自测:一定要先行自测完毕
  • 选择评审人:有限选择熟悉相关业务的同伴作为评审人
  • 提交描述:对自己提交的内容要有准确简介的描述。
  • 评审代码量:一次评审代码量尽量做好控制。利用分治的原则,避免一次提交过多代码。这样拆解提高评审效率。例如一次提交的代码量控制在500行内。
  • 评审流程说明:要告知评审人提交的代码阅读流程是什么。
  • 评审人评论跟进:对于评审人的代码评论要给出说明或进行相应的改进,并重新提交审阅。

3.3.2 评审人标准制定

  • 通过标准:根据业务特点制定code review的检查项。
  • 反馈:应尽快给与提交人反馈,避免时间过长造成遗忘。
  • 评论:code review也涉及到人与人间的交流,因此要使用合适的方式对提交人代码进行评论及交流。给出必须修改、可忽略、建议修改等评注。

4 团队学习

有了标准后需要让大家达成一致,如果有不一样的意见也可得到及时反馈。可以借助内容分享让大家进行。

5 业务梳理

评审的前提是双方对业务都有一定认识,因此需要同步需求概况。
同时对开发者的设计过程要有一定了解。有了这些背景就能更好的进行评审。

6 代码评审

根据检查项和业务状态对代码进行评审,并给出建议。通常需要关注下列信息。

  • 完整度:看一次提交是否完整的实现了本次的业务需求。
  • 单元测试:检查核心功能是否有单元测试且对于边界条件能够通过测试。
  • 注释:对于复杂的业务逻辑,如果不能通过代码本身的命名来表现含义。需要检查是否有有效注释进行说明。
  • 技术问题:例如是否存在并发问题、缓存同步问题等、是否能应对异常情况,鲁棒性是否满足、是否易于理解。技术问题就要结合业务梳理阶段与技术方案来一起进行评审。

7 总结分析迭代标准

在评审结束后,可能制定的标准不能满足所有条件。因此需要进行沟通迭代进行标准升级。

参考资料

[1]google的code review机制,https://juejin.cn/post/6844903944175484936

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值