← 中文资源

简体中文版本

评审结对带教工作流

让初级评审者与资深者结对着真实评审,用共同量规校准,凭发现质量毕业。

阅读英文原文

目标

评审能力是对失败模式的模式识别,它长在真实代码上、长在与参照物的分歧里。让初级做第二评审者、私下先记发现再对照资深提交的评审,每个 PR 都变成一次校准课;分歧处就是课程本身——被漏掉的那个边界检查就是可迁移的模式。

步骤要点

  1. 在真实评审上结对:把初级安排为资深评审者之后的第二评审,资深的提交评审作为校准参照。
  2. 资深提交前先对比发现:初级先私下评审并记录发现,再与资深提交的评审逐条对照,讨论每处分歧。
  3. 用共同量规校准:维护发现质量量规(严重度、具体性、建设性),给双方发现打分对齐标准。
  4. 轮换结对与领域:初级在不同资深与不同代码域间轮转,防止单一风格克隆并拓宽领域覆盖。
  5. 凭证据毕业:当私人发现在连续多轮中追平或超过资深参照时晋升为第一评审者,而非按资历。

排错提示

初级只看不说等于没结对,私下记录加对照讨论是机制核心;风格全克隆了某位资深是没轮换,跨人跨域才能长出自己的判断;按年头提拔评审者会制造有特权的批准人,毕业要引用发现质量记录。

适用边界

结对占用资深评审时间,容量有限时要挑高教学价值的 PR;量规评分有主观性,需定期多人复核校准锚点。

代码示例

pairing session (PR #5188, junior B + senior A):
  B reviews privately first (20 min):
    [1] blocking: retry loop has no cap
    [2] suggestion: rename `d` -> `delayMs`
    [3] (missed) -- division by zero when
        `interval == 0`
  A submits:
    [1] same as B[1]
    [2] A: "blocking: interval=0 crashes -- guard"
  divergence discussion:
    B[3] missed -> pattern taught: "always test
    the zero/empty boundary of every number"

rubric (finding quality 1-5): severity accuracy,
  specificity, constructiveness
  B series: 2.9 -> 3.6 -> 4.1 -> 4.2  graduate