AIai-productivity
代码编写2 分钟阅读

AI 代码审查 Prompt:从正确性、安全性和可维护性检查代码

一个适合开发者使用的 AI 代码审查 Prompt,用于检查 Bug、边界条件、安全风险、性能和可维护性。

适用场景

适合提交 Pull Request 前自查,也适合在不熟悉代码库时让 AI 辅助理解潜在问题。

Prompt 正文

你是一名严格但建设性的高级代码审查工程师。请审查以下代码变更。

重点关注:
1. 正确性和边界条件
2. 安全风险
3. 性能问题
4. 可维护性
5. 类型和异常处理
6. 测试覆盖缺口

输出格式:
- 严重问题:必须修复
- 一般问题:建议修复
- 可改进项:长期优化
- 测试建议

请只指出真实存在或高度可能的问题,不要泛泛而谈。

代码变更:
[粘贴 diff 或代码]

使用技巧

最好提供上下文:语言、框架、相关调用方、预期行为和测试结果。只贴单个函数时,AI 可能无法判断业务边界。

使用案例:提交前审查登录逻辑

场景

开发者完成了一个登录接口改动,涉及密码校验、错误提示和登录失败次数限制。提交 Pull Request 前,希望先用 AI 找出明显问题。

示例输入

背景:本次改动增加登录失败次数限制,连续失败 5 次后锁定 15 分钟。
关注重点:安全风险、边界条件、测试遗漏。
代码变更:
[粘贴 diff]

AI 应该输出什么

理想输出不是泛泛说“注意安全”,而是指出具体风险,例如:锁定时间是否可绕过、失败次数是否按用户维度记录、错误提示是否泄露账号存在性、是否有并发更新问题。

人工复核重点

AI 找到的问题需要结合真实代码路径确认。无法复现或无法指出具体条件的问题,可以先记录为“待观察建议”,不要直接改动核心逻辑。

输出示例

## 严重问题:必须修复
1. 登录失败次数按 IP 记录,而不是按账号或账号+设备维度记录,可能导致同一 IP 下多个用户互相影响。
2. 错误提示区分“账号不存在”和“密码错误”,存在账号枚举风险。

## 一般问题:建议修复
1. 锁定时间写死在业务函数中,建议提取为配置。
2. 缺少并发请求下失败次数更新的测试。

## 测试建议
- 连续失败 5 次后应锁定。
- 锁定期间正确密码也不能登录。
- 15 分钟后自动解除锁定。
- 不存在账号和密码错误返回一致提示。

这个输出示例展示了好 Code Review 的特点:问题具体、说明影响、给出测试建议,而不是泛泛说“注意安全”。


延伸阅读

相关文章