AI 编程教程中文版
官方教程中文版实战工作流

代码审查工作流

用 GitHub Copilot 做 review 预筛、建议修复和风险归纳,同时保留人工 reviewer 的最终责任。

Copilot code review 的正确位置是预筛风险和补充 reviewer 视角。它可以给出评论(comments)和建议改动(suggested changes),但不能替代代码 owner 对行为、安全和发布风险的判断。

GitHub 官方页面提示:从 2026-06-01 开始,Copilot code review runs 会消耗 GitHub Actions minutes。团队启用自动 review 前必须确认计费和用量边界。

1. 入口地图

GitHub 官方文档列出多个入口:GitHub.com、VS Code、JetBrains IDEs、Visual Studio、GitHub CLI、Xcode 和 Mobile。实际团队里先统一 2 个入口即可:PR 页面 review 和本地未提交变更 review。

flowchart TD
    Diff["本地 diff / Pull Request"] --> Entry{"选择入口"}
    Entry --> Local["IDE: review uncommitted changes"]
    Entry --> PR["GitHub PR: request Copilot reviewer"]
    Entry --> CLI["GitHub CLI / 其他入口"]
    Local --> Comments["Copilot comments"]
    PR --> Comments
    CLI --> Comments
    Comments --> Triage{"人工分流"}
    Triage --> Apply["采纳 suggested change"]
    Triage --> Fix["手动修复"]
    Triage --> Dismiss["记录原因后关闭"]
    Apply --> Rereview["必要时请求 re-review"]
    Fix --> Rereview

    style Comments fill:#dbeafe,stroke:#2563eb,stroke-width:2px
    style Triage fill:#fef3c7,stroke:#d97706,stroke-width:2px

2. 什么时候请求 Copilot review

适合:

  • PR 已经有明确目标、测试说明和范围。
  • diff 不大,Copilot 能完整看到主要上下文。
  • 想在人工 reviewer 之前预筛可读性、遗漏测试、明显 bug 和安全问题。
  • 本地提交前想快速检查未提交变更。

暂时不要:

  • PR 还在大规模重写,diff 每几分钟都变。
  • 需求本身还没定,review 会变成产品讨论。
  • 涉及高风险迁移、权限、支付、安全或数据删除,却没有人工 owner。
  • 团队没有决定自动 review 的计费和噪声处理。

3. PR 页面工作流

  1. 创建 PR 或打开现有 PR。
  2. 在 Reviewers 菜单里选择 Copilot。
  3. 等待 Copilot 完成 review。
  4. 逐条阅读评论,不直接批量采纳。
  5. 对每条评论做分流:采纳、手动修复、关闭并说明原因。
  6. 推送修复后,必要时手动请求 re-review。

GitHub 官方说明,Copilot 不会因为你推送新提交就自动重新 review;需要重新请求。并且 re-review 时可能重复之前已经关闭或点踩的评论,所以团队 SOP 要保留“重复评论如何处理”的规则。

4. 本地未提交变更工作流

本地 review 适合提交前快速拦截明显问题:

  1. 在 Source Control 里确认 staged / unstaged 范围。
  2. 请求 Copilot review uncommitted changes。
  3. 只处理与本次提交有关的评论。
  4. 修复后重新跑测试,再提交。

这一步不替代 PR review。它只减少低级问题进入 PR 的概率。

5. Repository instructions

Copilot code review 可以读取仓库自定义指令。常见做法是用 .github/copilot-instructions.md 放仓库级 review 规则,用 .github/instructions/**/*.instructions.md 放路径级规则。

示例:

Review rules:
- Prioritize input validation.
- For migrations, check rollback.
- For UI, check mobile layout.

注意两个边界:

  • Copilot code review 只读取每个自定义指令文件前 4,000 个字符。
  • PR review 时读取的是 base branch 里的指令,不是 feature branch 里刚改的指令。

6. 人工 triage 清单

每条 Copilot 评论都按下面顺序判断:

  1. 事实性:评论引用的代码是否存在,路径和行号是否正确?
  2. 可复现:能否用测试、类型检查、lint、日志或手动步骤证明?
  3. 风险级别:是 blocker、should-fix、nit,还是误报?
  4. 修复方式:用 suggested change、手动改,还是拆新 issue?
  5. 回归验证:修复后跑哪些检查?
深读:自动 review 的边界

自动 review 适合稳定团队和稳定仓库,不适合刚开始试点时直接全仓启用。先选一个活跃但风险可控的仓库,统计一周评论质量、误报率、reviewer 节省时间和 Actions minutes 消耗,再决定是否扩大。

本章自检

  1. 是否决定了 Copilot review 的入口和触发条件?
  2. 是否有 repository instructions 指定团队 review 重点?
  3. 是否知道 code review runs 的计费影响?
  4. 是否对每条评论做人工 triage,而不是直接接受?
  5. 是否在修复后重新跑测试并必要时请求 re-review?

通过标准:Copilot 评论能进入 reviewer 队列,但最终合并判断仍由人负责。

官方来源

接下来去哪

本页目录