AI 编程
Vibe coding 代码审查与重构
一套实用的 vibe coding 代码审查工作流,用于发现缺陷、安全风险、数据流问题、缺失的测试、无障碍缺口,并在 AI 生成变更后稳妥地进行重构。
AI 生成的代码可能顺利通过演示流程,却仍然隐藏着错误假设。优秀的 vibe coding 代码审查会先关注行为风险,再考虑风格偏好,重点检查缺陷、安全、数据流、测试、无障碍、性能和可维护性。
本指南介绍如何在 vibe coding 会话后稳妥地进行审查和重构。目标不是拒绝 AI 生成的代码,而是将其转化为你能够解释、测试、维护,并且可以放心修改的代码。
本指南适合谁
- 审核 AI 生成的拉取请求的开发者
- 准备将 vibe coding MVP 提供给真实用户的创始人
- 将 AI 原型转化为可维护功能的产品团队
- 在将代码交给工程师前需要审核提示词的设计师和运营人员
- 希望在不破坏现有行为的前提下稳妥重构的团队
分步工作流程
- 先审核用户行为:哪些内容发生了变化、什么应该正常运行,以及什么可能出错?
- 在进行编辑前,让 AI 按严重程度列出审查发现。
- 检查缺陷、安全、数据流、测试、无障碍、性能和可维护性。
- 确认身份验证边界、密钥处理、数据库写入、API 验证和破坏性操作。
- 找出缺失的测试或手动验证路径。
- 先修复阻断问题,再进行风格清理。
- 只有在测试或精确的手动检查保护现有行为后,才稳妥地进行重构。
- 控制重构范围:重命名、提取、去重或移动逻辑,但不改变行为。
- 每完成一组重构后都运行验证。
- 最后给出简短的审查摘要:已修复的发现、已运行的测试和剩余风险。
推荐工具
代码审查与重构提示词模板
在 AI 编程会话后使用以下提示词:
Review the current change as a senior engineer. Focus on bugs, security, data flow, tests, accessibility, performance, and maintainability. List review findings first, ordered by severity, with file references where possible. Do not refactor yet.
After findings are clear, propose the smallest fixes. Only refactor safely after the behavior is protected by tests or a precise manual verification path. Avoid unrelated style changes, dependency changes, environment variable changes, and broad rewrites.
重构提示词模板
当现有行为已经验证时,使用以下提示词:
Refactor safely without changing behavior. The goal is [specific cleanup]. Preserve public routes, API contracts, tests, styles, and existing user workflows. Keep the diff small. Explain why each file changes and run the verification command after the refactor.
审查与重构检查清单
- 审查是否检查了缺陷、安全、数据流、测试、无障碍和性能?
- 审查发现是否按严重程度而非个人偏好排序?
- 是否审核了身份验证、密钥、API 验证和数据库写入?
- 每项重构是否都对应一个具体的可维护性问题?
- 行为变更是否与清理变更分开?
- 修复和重构后是否都运行了验证?
- 最终差异是否足够小,便于人工审核?
常见错误
- 审查发现尚未明确,就要求 AI "clean up the code"
- 在一份大型差异中混合缺陷修复和重构
- 因为生成的代码可以编译,就认为它是安全的
- 只审核 UI 外观而忽略数据流
- 因为桌面端演示正常,就跳过无障碍和移动端行为
- 让 AI 为项目已经解决的问题添加依赖项
- 在没有更完善测试套件的情况下接受大范围重写
实用示例
较弱的提示词:refactor this AI-generated dashboard.
更好的提示词:review the AI-generated dashboard changes first. Look for bugs, security issues, data flow mistakes, missing tests, accessibility gaps, performance problems, and code that is hard to maintain. List review findings by severity. Do not refactor until blockers are fixed. After that, extract repeated card markup into one component without changing behavior, then run the dashboard test and production build.
更好的提示词将审查发现与清理工作分开,并将稳妥重构纳入经过验证的工作流。
常见问题
问:每一项通过 vibe coding 完成的变更都应接受代码审查吗? 答:重要变更应当接受审查。公开页面、身份验证、支付、数据库写入、API 路由、用户数据和 SEO 页面都值得在发布前审核。
问:何时可以安全地重构 AI 生成的代码? 答:应在验证行为后进行重构。如果没有自动化测试,请使用精确的手动路径,并保持较小的重构范围。
问:审核者应该优先关注什么? 答:应先关注正确性、安全、数据所有权、验证、无障碍、性能和可维护性,再考虑命名或风格偏好。
问:AI 可以审核自己生成的代码吗? 答:它可以提供帮助,但不要将其视为最终批准。使用 AI 发现风险,再通过测试、构建输出或人工审核来验证发现和修复。