AI 编程把提交速度推高后,PR 审查最容易陷入一种错觉:代码整洁、测试通过、改动说明完整,就意味着可以合并。实际上,审查的重点应从“代码写得像不像人”转向“改动是否符合业务授权与演化边界”。AI 擅长补全实现,却不会天然理解一个模块为什么不该访问某类数据,也不会为未来的拆分、回滚和追责承担成本。
合并前先问六个问题
- 改动是否收敛? 每个变更文件都应能对应任务目标。无关重构、批量改名和格式调整应拆分提交,否则会掩盖风险并增加回滚难度。
- 新增依赖是否必要? 先确认项目内是否已有可复用能力。仅为让实现“更优雅”而增加功能重叠的依赖,会扩大维护面,也会引入额外的供应链判断成本。
- 权限是否最小化? 对照权限模型检查接口与数据源调用。技术上可访问,不等于业务上应访问;尤其要警惕用高权限接口完成低权限需求。
- 测试验证的是业务还是实现? 不能只看测试是否通过。审查者应追问错误路径、异常输入、边界条件、配置变化及并发情形是否被覆盖,断言是否真正描述了业务结果。
- 逻辑是在复用还是重复? AI 可能未检索已有实现而重新造轮子,也可能过早抽象相似代码。判断标准不是抽象程度,而是这些场景是否具有共同且稳定的演化方向。
- 数据访问是否有明确依据? 每个被读取或写入的数据源,都应能说明其业务必要性与授权路径。涉及用户隐私、财务或内部运营数据时,不能接受“代码能跑”的解释。
让审查从逐行阅读变成风险验证
PR 描述应包含任务目标、涉及文件、明确未触及的范围,以及待验证场景。审查者据此先核对变更边界,再检查依赖、权限、数据流和测试意图;代码细节则服务于这些判断,而不是审查的唯一对象。
这份清单的价值不在于增加流程,而在于重新分配注意力:把机器已经擅长的语法、格式和常规实现交给自动化,把业务边界、授权关系和长期维护责任留给能够作出判断的人。
参与讨论
暂无评论,快来发表你的观点吧!