高效代码审查

代码审查的定义

  • 代码作者以外的其他人对代码进行检查, 以寻找代码的缺陷和可以提高的地方

代码审查的方式

  • 本地编码
  • 本地使用静态检查工具
  • 本地使用单元测试
  • 本地使用工具查看准备发出去的diff
  • 发出审查
  • 通过则puvh
  • 不通过则修改再次提交

代码审查应该检查什么

  • 设计
  • 功能
  • 复杂度
  • 测试
  • 命名
  • 注释
  • 格式

代码审查的收益

直接受益

  • 代码质量
  • 协作效率
  • 研发成本
  • 工程师成长

附带收益

  • 变更决策的审核
  • 工程师社交

如何成功执行代码审查

常见问题

  • 无疾而终
  • 流于形式,
  • 走过场
  • 浪费时间

解决根本: 团队内达成重要的共识

  • 明确代码审查的重要性
  • 计入工作量、计入绩效考核标准
  • 审核统计数据做参考, 主观互评反馈为主导
  • 逐步形成、固化审核基准
  • Don’t Block Engineer – 改进审核流程、工具提高审查效率

通过提高代码提交原子性促进落地

代码提交原子性: 一个提交包含一个不可分割的特性、修复或者优化, 同时这个提交要尽可能 小。

  • 结构清晰
  • 容易定位问题, 易回滚
  • 大小合适, 方便审查

抓手: 提高提交说明的质量

  • 标题
  • 详细描述
  • 测试情况
  • 与其他工具和系统相关的信息

通过commit message推动原子性和代码审查

  • 规定提交说明一定要包括标题、描述和测试情况三部分
  • 要求提交说明必须详细写明测试情况
  • 逐步要求提交的原子性

观点

  • 计入工作量, 形成文化, 形成绩效考评基线
  • 使用提高代码提交的原子性来推动
  • 作为相互尊重的讨论、反馈工具 + 门禁工具

本文链接地址: 高效代码审查

发表评论

电子邮件地址不会被公开。 必填项已用*标注