很多开发者在收到PR时,第一反应是直接翻代码,看到哪里不顺眼就评论哪里。这种“凭感觉”的Code Review方式,不但效率低,还容易漏掉关键问题。今天,我分享一套可重复执行的4步PR审查流程,用真实的PR作为示例,帮你系统化地审查代码

前置条件

  • 安装Git和GitHub CLI(gh
  • Node.js 18+ 和 pnpm
  • 目标仓库的访问权限
第1步:分解Issue,形成检查清单

先把GitHub Issue拆解成可测试的需求点,拿着这份清单去审查PR,才能有的放矢。

gh issue view 825 --repo promptdriven/pddgh pr view 1260 --repo promptdriven/pdd

Issue #825 的分解结果:

  • 核心目标:在AI agent执行前增加checkup检查系统
  • 新增gate命令,运行预检检查
  • 检查项必须支持插件式扩展
  • 未通过的检查项要阻止agent执行
  • 错误信息要包含检查项名称,清晰明确
  • 通过pdd.yaml进行配置
第2步:运行自动化检查

先处理机械性问题,这能帮你发现80%的明显问题。

git clone https://github.com/promptdriven/pdd.gitcd pddgit checkout DianaTao:feat/issue-825-gatepnpm installpnpm checkup # lint、类型检查、测试、构建

如果pnpm checkup失败,先修复再进入下一步。不要审查无法运行的代码。

第3步:深入代码审查

现在开始真正的审查。对照第1步分解出的需求清单,逐项检查,而不是通读整个PR。

// lib/gate/checkup.ts — 核心实现export interface CheckupResult {name: string;passed: boolean;message?: string;durationMs: number;export class Gate {private checks: Check[] = [];constructor(private config: GateConfig) {this.registerDefaultChecks();async runAll(): Promise {}

重点检查:检查项的注册机制是否清晰、失败时是否返回了包含检查项名称的错误信息、配置读取是否符合pdd.yaml的约定。

第4步:测试变更并修复问题

自动化测试无法覆盖所有场景。手动跑一遍关键路径,验证:

  • 检查通过时,agent可以正常执行
  • 检查失败时,agent被阻止,并输出明确的错误
  • 新增插件的扩展是否生效
  • 配置改动后,行为是否符合预期

发现问题后,直接修复或反馈给作者,然后重新运行完整检查。

这套流程看起来简单,但能帮你从“凭感觉”变成“有清单、有证据”地审查PR。你可以直接用它来替换你目前的Code Review方式。