🧠 如何像资深工程师一样审查 AI 生成的代码
Source: Dev.to
✅ 1. 先检查边缘情况
AI 通常只写“happy path”的代码,但真实系统会以意想不到的方式失败。审查代码是否处理了:
- 空输入 – 高级工程师会假设输入可能会出错,并设计代码来处理这种情况。
✅ 2. 验证假设
AI 生成的代码常常隐藏假设。例如:
- “API 总是返回 200 状态”
在接受代码之前,询问:
- 这些数据从哪里来?
许多生产环境的 bug 源于错误的假设,而不是错误的逻辑。
✅ 3. 核实数据来源
始终审查数据是如何进入系统的。询问:
- 输入可信么?
绝不要在未验证的情况下信任外部数据。
✅ 4. 留意隐藏的复杂度
AI 有时会生成看起来简洁但实际隐藏复杂度的代码。注意:
- 深层嵌套的条件
如果你不能在几秒钟内解释代码,它可能太复杂了。
✅ 5. 审查错误处理
许多 AI 代码片段的错误处理很薄弱。检查代码是否:
- 正确处理异常 – 生产系统应当明确且安全地失败。
✅ 6. 警惕静默失败
静默失败是 AI 生成代码的最大风险之一。例子包括:
- 捕获错误却忽略它们
这些问题不会导致系统崩溃,却会悄悄产生错误结果。高级工程师更倾向于可见的失败,而不是隐藏的失败。
✅ 7. 检查性能与可扩展性
AI 并不总是对代码进行优化。留意:
- 效率低下的循环
始终问自己:“在高负载下它还能正常工作吗?”
✅ 8. 审查安全风险
AI 可能会意外生成不安全的代码。检查是否存在:
- SQL 注入风险
安全审查是不可谈判的。
✅ 9. 确认架构契合度
即使代码能运行,也可能不符合系统设计。审查它是否:
- 符合项目结构
好代码必须适配现有架构,而不仅仅是实现功能。
✅ 10. 添加合适的测试
AI 很少生成完善的测试。在交付代码之前,添加:
- 单元测试
测试是把“能跑的代码”变成“可靠代码”的关键。
🎯 真正的区别
AI 能生成代码,但工程价值来源于判断和审查。初级和高级开发者的区别往往体现在一个问题上:
- 初级: “它能工作吗?”
- 高级: “它安全吗、可维护吗、与系统保持一致吗?”
这种思维方式把代码生成器和真正的工程师区分开来。