返回文章列表

我的代码评审清单

五年评审几千个 PR 后沉淀下来的清单:从正确性到可读性,一份可以对照执行的 Code Review 手册。

我的代码评审清单

评审代码是性价比极高的质量投资,但「看一遍觉得没问题」式的评审约等于没评。这是我的清单,按优先级排序。

一、正确性

  1. 边界条件:空数组、null、超大输入、并发重复调用,处理了吗?
  2. 错误路径:catch 之后呢?用户看到什么?状态会不会停在中间态?
  3. 回滚可能:这个改动出问题能安全回退吗?

二、意图清晰

代码被阅读的次数远多于被编写的次数。

  • 函数名是否说出了「为什么」,而不只是「做什么」
  • 有没有需要注释才能看懂的段落——那通常意味着该重构,而不是该注释

三、最小惊讶

  • 改动范围是否只包含声称要改的东西?夹带的「顺手优化」应该拆出去
  • 是否复用了已有的工具函数,而不是又写了一遍

四、测试

不是看有没有测试,而是看删掉被测代码后测试会不会红。只追求覆盖率的测试是安慰剂。

最后

评审的语气很重要。多问「这里如果……会怎样」,少说「你这里错了」。清单管事,同理心管人。