今天不讲理论,直接练。下面 5 个场景每个都可以立即动手,预计每个花 10-20 分钟。
🎯 场景1:用 AI 排查一个真实 NPE
操作步骤:
- 从你的项目日志或 Stack Overflow 找一个真实的 NullPointerException 堆栈
- 把完整堆栈 + 业务背景贴给 Claude 或 ChatGPT
- 追问:"根因是什么?有几种可能?"
- 让 AI 给出修复代码 + 防御性编程建议
验收标准:AI 给出的根因分析你能看懂,修复代码能直接用或稍作修改。
🎯 场景2:用 AI 生成单测 case
操作步骤:
- 选一个你项目里的 Service 方法(20-50行为宜)
- 把方法代码贴给 AI,加上说明:"这是用户注册逻辑,规则是:邮箱不能重复,密码长度8-20位"
- 要求:"请生成 JUnit5 单测,覆盖:正常注册、邮箱重复、密码太短、密码太长 4 种 case,用 Mockito mock UserRepository"
// 示例 Prompt
"这是我的 UserService.register() 方法:[贴代码]
业务规则:邮箱唯一,密码8-20位
请生成 JUnit5 + Mockito 单测,覆盖正常流程、邮箱重复、密码长度异常。"
🎯 场景3:用 AI 重构 if-else 地狱
操作步骤:
- 找一段超过 3 层嵌套的 if-else(或 switch-case 巨无霸)
- 贴给 AI,说明业务意图
- 要求:"请用策略模式或枚举优化,后续新增分支只需新增一个类/枚举值,不改主流程"
没有现成代码?用这个:
public BigDecimal calcDiscount(String userType, BigDecimal price) {
if ("VIP".equals(userType)) {
if (price.compareTo(new BigDecimal("100")) > 0) {
return price.multiply(new BigDecimal("0.8"));
} else {
return price.multiply(new BigDecimal("0.9"));
}
} else if ("SVIP".equals(userType)) {
return price.multiply(new BigDecimal("0.7"));
} else {
return price;
}
}
🎯 场景4:用 Cursor Composer 做多文件修改
操作步骤:
- 打开 Cursor,找一个你的 Spring Boot 项目
- 按
Cmd+I(Mac)或Ctrl+I(Windows)打开 Composer - 输入:"在 User 实体上新增 phone 字段,同时更新 UserDTO、UserService、UserController 的相关代码,保持原有逻辑不变"
- 观察它如何跨多个文件同步修改
🎯 场景5:让 AI 生成完整 CRUD 接口
操作步骤:
- 告诉 AI 你的实体信息和业务规则
- 要求生成完整的三层架构代码 + 单测
// 示例 Prompt
"请用 Spring Boot 3 + MyBatis Plus 生成商品管理模块:
实体字段:id, name, price, stock, categoryId, status, createTime
业务规则:
- 商品名称不能重复
- 价格必须大于0
- 库存不能为负数
- 支持按分类和状态分页查询
请生成:
1. Product 实体类(含 Lombok 注解)
2. ProductMapper 接口
3. ProductService 接口 + 实现类
4. ProductController(含参数校验)
5. 针对 ProductService 的 JUnit5 单测"
💡 今日金句
AI 是你的结对编程伙伴,不是替代你思考的工具。你提供业务判断,它提供代码执行。
🔖 明日安排
明天(第4天)是本章轻松回顾日,梳理本周关键词和核心收获,预告下一章内容。