主题
AI 编程最佳实践
使用 AI 编程工具的核心原则:AI 是助手,不是替代者。掌握正确的使用方式,可以大幅提升效率。
核心原则
1. 永远 Review AI 生成的代码
AI 生成的代码:
- 可能有逻辑错误
- 可能引入安全漏洞
- 可能不符合项目规范
- 可能有性能问题
做法:把 AI 当成一个初级程序员,它的输出需要你来做 code review。
2. 先解释,再修改
不要让 AI 直接改代码,先让它解释:
错误做法:
"把这段代码改成用 Redis 缓存"
正确做法:
"先解释一下这段代码的执行流程和业务逻辑,
然后告诉我如果用 Redis 缓存,应该怎么改,有什么注意事项"3. 提供充分的上下文
AI 不知道你的项目规范,需要告诉它:
- 创建
.cursorrules或项目规范文档 - 在提问时引用相关文件(
@Files) - 描述清楚技术栈和版本
提示词技巧
好的提示词结构
[角色] + [上下文] + [任务] + [约束条件]
示例:
你是一个有 10 年经验的后端工程师。
我们的项目使用 Spring Boot 3.x + JPA + MySQL。
请帮我写一个用户注册的 Service 层代码,
要求:
- 密码必须加密存储(BCrypt)
- 邮箱不能重复
- 添加参数校验
- 使用 Java 17 的 Record 作为 DTO迭代式开发
不要指望一次就得到完美结果,分步进行:
第 1 步:先生成骨架代码
第 2 步:补充错误处理
第 3 步:添加单元测试
第 4 步:优化性能让 AI 帮你写测试
AI 擅长写测试,充分利用:
"为 UserService 生成单元测试,
覆盖所有分支,使用 JUnit 5 + Mockito"不同场景的最佳实践
写新功能
- 先让 AI 列出实现方案(不止一个)
- 选一个方案,让 AI 写接口定义
- 让 AI 实现具体逻辑
- 人工 review + 补充测试
调试 Bug
- 把错误日志完整贴给 AI
- 附上相关代码
- 让 AI 列出可能的原因(按概率排序)
- 逐一排查,不要直接按 AI 的建议改
代码重构
- 先让 AI 解释现有代码
- 确认理解一致后,让 AI 提出重构方案
- 分步执行,每步都跑测试
- 用 git 保存每个中间状态
写文档
AI 非常适合写文档:
"根据这段代码生成 API 文档,
包含请求参数、响应格式、错误码"工具组合建议
| 场景 | 推荐工具 |
|---|---|
| 日常编码、代码补全 | Copilot / Cursor Tab |
| 写新功能、重构 | Cursor Chat / Claude Code |
| 调试、代码审查 | Claude Code |
| 写测试、写文档 | 任意(AI 擅长) |
最佳组合:Cursor(日常) + Claude Code(大规模任务)
常见误区
❌ 误区 1:盲目信任 AI
AI 会自信地给出错误答案。务必验证。
❌ 误区 2:提示词太简单
错误:"写个登录功能"
正确:"用 Spring Security + JWT 实现登录功能,
密码用 BCrypt 加密,Token 有效期 24 小时"❌ 误区 3:一次性粘贴大段代码
代码太长,AI 容易遗漏细节。分批处理效果更好。
❌ 误区 4:不用 AI 生成测试
测试代码相对简单、规则明确,AI 生成质量很高,不用白不用。
效率提升数据(参考)
| 任务 | 传统方式 | 使用 AI | 提升 |
|---|---|---|---|
| 写 CRUD | 30 min | 5 min | 6x |
| 写单元测试 | 20 min | 5 min | 4x |
| 调试 Bug | 60 min | 20 min | 3x |
| 写文档 | 20 min | 3 min | 6x |
数据来源:个人经验,实际效果因人而异
总结
AI 编程 = 好的提示词 + 充分的上下文 + 严格的人工 Review
AI 负责:写样板代码、生成测试、解释代码、提出方案
人负责:做决策、Review、架构设计、业务逻辑