悦省yueser.com

← 全部场景

怎么让 code review 真的有用,而不是挑格式

有用的 review 只回答两件事:这次改动会不会出错,出了问题能不能发现。其余都是次要的。

怎么做

  1. 作者先自己审一遍

    提 PR 之前,把 diff 贴进「代码审查」,只保留会导致 bug、安全和性能的问题,按严重程度排序,每处给出触发条件和改法。先修完再叫同事,能省掉一轮来回。风格问题交给 linter,不要占用 review 的注意力。

  2. 补上能证明改动正确的测试

    把实现和现有测试给「给测试用例挑漏」。列清未覆盖的分支,按线上影响补前五个用例,删掉重复和断言实现细节的测试。reviewer 看到的不只是「我加了测试」,而是每个失败场景对应哪条用例,讨论会具体很多。

  3. reviewer 先看影响面,再看代码

    把 diff、依赖关系和流量规模给「估算一次改动的风险面」。列受影响的调用方、数据和定时任务,按影响人数和恢复难度排前三,给出回退指标。影响面大的改动,review 的重点应该放在回退方案和上线顺序,而不是变量命名。

  4. 盯住失败路径

    把改动里处理错误的部分给「审查错误处理」。只看被吞掉的异常、无法定位的报错、不安全的重复写入、该失败却继续跑的地方。这类问题很难靠测试覆盖,通常要有人逐条读代码才能发现。

  5. 有并发的地方单独过一遍

    如果改动涉及共享状态,把相关代码给「并发与竞态审阅」。假设两个请求同一毫秒到达,列共享可变状态、检查与使用之间的间隙、什么并发量会暴露、最小改法和各自的代价。没有共享状态就跳过,不要为了凑流程硬套。

用到的提示词

常见问题

AI code review 能代替同事 review 吗

不能。AI 通常能查出注入、空指针、N+1 这类模式化问题,但它不知道你们的业务约束、历史事故和发布节奏。同事 review 的价值在于判断这个改动该不该现在做、会不会和别的改动冲突。

review 意见太多,怎么排优先级

先按会不会导致数据错误或线上故障筛一遍,再看触发条件是否现实。风格类意见交给 linter 和格式化工具,不进入 review 讨论;剩下的按「改起来便宜、收益明确」先做。

小改动也要走这套流程吗

不必全套。改一行配置可以只做第 1 步并确认回退方式;涉及共享状态、权限、钱的改动,第 4、5 步不能省。按出错后果来决定投入,而不是按改动的行数。