别让 Claude Code 乱改代码!Java 避坑 6 招
我用 Claude Code 写了两周 Java 业务代码,总结了 6 条不翻车经验
适合人群:Java / 后端开发
最近把 Claude Code(Anthropic 出的终端 AI 编程助手)拉进了日常开发:
写 Spring Boot 接口、改 MyBatis SQL、接第三方接口、补单元测试。
用下来的感受是:
它不像代码补全工具,更像你招了一个会读代码、会跑命令,但业务敏感度一般的高级 Java 开发。
用好了是真香,用不好就是:
乱改文件、胡乱重构、带着错误假设狂写代码。
下面这套流程,是我踩了一堆坑之后,专门为 Java 后端项目总结出来的「稳产出用法」。
一、别上来就“帮我实现”,先让它把项目读一遍
大部分 Bug 的根源只有一个:
它还没看懂项目,就开始写代码。
新项目、新模块,第一句话永远不是需求,而是:
先别改代码,阅读这个项目并告诉我:
1. 项目结构(module / package 职责,依赖关系,技术栈等)
2. 启动类、入口在哪
3. 怎么打包、怎么启动、怎么跑测试
4. 跟这次需求最相关的几个类
5. 你不确定的地方有哪些
Claude Code 会自己去扫目录、
"pom.xml"、
"Application.java"、Controller 和 Service,比你口头描述靠谱太多。
👉 记住一句话:
先让它读,再让它写。
二、CLAUDE.md 写“团队规范”,不是“本次需求”
Claude Code 每次启动,会自动读取项目根目录下的
"CLAUDE.md",把它放在上下文中,这是你和它“约法三章”的地方。
别把具体需求写进去,而是写长期有效的规则。
Java 项目里,我常用的模板是这样的:
# 项目规范
- 构建:mvn clean package
- 启动:mvn spring-boot:run
- 包结构:controller → service → mapper
- 返回值统一用 Result<T>
- 禁止在 controller 写业务逻辑
- 使用 Lombok,不手写 getter/setter
- 使用JAVA17语法
# Claude 行为约束
- 改代码前先说明影响范围
- 只做最小改动,不碰无关文件
- 提交前必须跑 mvn test
- 说明用中文,代码和提交信息用英文
新项目进来,直接敲:
/init
它会帮你生成一个初版
"CLAUDE.md",你再按团队习惯改两行就行。
三、稍微复杂的需求 → 先 Plan Mode,再写代码
只要改动超过一个文件(比如加一个新接口、改鉴权、动表结构),一定先进计划模式。
按
"Shift+Tab" 切到 Plan Mode(只读,不改代码),或者直接说:
进入计划模式,不要写代码。帮我设计实现方案:
1. 本次需求要解决的问题
2. 涉及哪些模块 / 类
3. 拆成 3~5 个小步骤
4. 每一步怎么验证(单测 / 接口调用 / 日志)
你确认没问题后,再切回普通模式,让它一步一步实现。
👉 好处非常直接:
在它写歪之前,你就发现它理解错了。
四、接老项目 / 改别人代码 → 先定位,再动手
Java 开发最常见的场景,不是“从零写”,而是在老代码上改需求。
我会这样用 Claude Code:
我要改【用户登录】相关逻辑,请先:
1. 找到所有相关类(Controller / Service / Filter)
2. 用文字描述调用链
3. 指出风险点(并发、事务、幂等)
等它把这些说清楚,我再告诉它具体要怎么改。
80% 的时间花在“找代码”,20% 才是写代码,Claude Code 在这 80% 上非常值。
五、一个需求一会话,做完就
"/clear"
Claude Code 的上下文是有限的,而且上一个需求的错误理解,很容易污染下一个需求。
我的习惯是:
- 一个接口 = 一个会话
- 一个 Bug = 一个会话
- 一次重构 = 一个会话
做完之后,让它在最后总结一句:
一句话总结:
- 做了什么
- 改了哪些文件
- 现在状态
- 下次接着干要注意什么
然后
"/clear"开启新会话。
👉 这个习惯,能救你命。
六、别信它说的“搞定了”
不管它多自信,我都会最后补一句:
请输出完成小结:
1. 改了哪些文件,为什么改
2. 跑了哪些验证(mvn test / 接口测试 / 日志)
3. 还有哪些没验证
4. 哪些地方需要我人工确认
尤其是 Java 项目:
编译通过 ≠ 业务正确。
它负责干活,你负责拍板。
一句话总结
Claude Code 能不能用得好,不靠 prompt 魔法,而靠三件事:
- ✅ 给它一份 靠谱的 CLAUDE.md
- ✅ 复杂需求 先 Plan,再 Write
- ✅ 一需求一会话 + 明确验收标准
把它当成一个需要你 Code Review 的高级 Java 开发,你会用得很舒服。
更多推荐




所有评论(0)