支付模块的 CODEOWNERS 只写了一个人,他休年假 5 天,期间 7 个 PR 全部卡住,最长的等了 4 天,最后绕开模块直接合了。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,关键模块的评审权限集中在一个人身上,没有备份评审人。CODEOWNERS 写完就没人维护。

「评审人力不足」这类改动最怕改一半,回滚脚本先准备好,再动生产。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

cat .github/CODEOWNERS
git log --since='1 month ago' --pretty='%an' -- src/pay/ | sort | uniq -c

权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。

改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

具体做法是,每个模块至少配 2 个 owner 并区分主备;定期轮换评审人 让更多人熟悉模块;设置超时升级规则 24 小时无人评审自动提醒组长;统计每个人的评审负载 避免集中。

最后用这个标准收尾,任意模块至少有两名可评审人,PR 等待评审时间中位数不超过 4 小时。

作者 9823189