AI 代码审查
用 AI 在人工审查前审查 diff 找 bug、坏味与缺测试。
测试与审查进阶
为什么
GitHub 2024 调查发现 92% 的美国受访者用 AI 编程工具生成测试用例,98% 的组织曾尝试用 AI 做测试。AI 审查在人之前捕获机械问题(缺测试、禁用模式、边界),故人工审查聚焦架构与意图。
它随 PR 量扩展。
何时使用
每 PR 人工审查前用。仅文档琐碎 PR 跳过。
如何做
1. 喂 diff + 相关上下文文件。
2. 问:"审查 bug、边界、缺测试、禁用模式;列具体问题"。
3. 拒绝模糊反馈("考虑改进")— 要行 + 问题 + 修复。
4. 修真问题;误报附理由驳回。
5. 追踪 AI vs 人工一致率以调。
示例
Diff:books.ts +10 行(新路由、无验证、无测试)
AI 审查:
- books.ts:42 无输入验证 — 加 zod schema(bug)。
- POST /books 无测试 — 加一个(缺测试)。
- body 用 'any' — 用 BookInput 类型(禁用模式)。
全修;驳回"考虑服务层"为范围外。
常见问题
- ⚠Error: Cannot find module 'jest' / 'vitest' → 运行 `npm install --save-dev vitest`(或 jest);检查 package.json 测试脚本。
- ⚠错误:"Test timed out after 5000ms" → 调大 `testTimeout` 或 await 异步操作;网络调用常见。
- ⚠AssertionError: expected undefined to equal 'x' → mock 返回了 undefined;检查 mock 设置返回预期结构。
最佳实践
- ✓要求具体、引用行的反馈与建议修复。
- ✓记录驳回误报以随时间剔除嘈杂规则。
- ✓用具体指标衡量结果(节省时间、缺陷率、测试覆盖率),使实践可被论证和改进。
常见问题解答
什么是AI 代码审查?
用 AI 在人工审查前审查 diff 找 bug、坏味与缺测试。 它可帮助开发者快速理解 AI 代码审查 的核心价值与适用场景。
如何开始使用AI 代码审查?
开始使用 AI 代码审查,建议先掌握以下要点:喂 diff + 相关上下文文件。
AI 代码审查 的常见误区有哪些?
使用 AI 代码审查 时常遇到的问题包括:Error: Cannot find module 'jest' / 'vitest' → 运行 `npm install --save-dev vitest`(或 jest);检查 package.json 测试脚本。;错误:"Test timed out after 5000ms" → 调大 `testTimeout` 或 await 异步操作;网络调用常见。;AssertionError: expected undefined to equal 'x' → mock 返回了 undefined;检查 mock 设置返回预期结构。。
AI 代码审查 的最佳实践是什么?
AI 代码审查 的最佳实践包括:要求具体、引用行的反馈与建议修复。;记录驳回误报以随时间剔除嘈杂规则。;用具体指标衡量结果(节省时间、缺陷率、测试覆盖率),使实践可被论证和改进。。
如何深入学习AI 代码审查?
从官方文档入手,再在 GitHub 上搜索真实示例;先在小实验仓库验证模式,再应用到生产代码。