网上大多数 Claude Code 教程停留在「用它写 hello world」的层面。这篇文章不同——来自在真实生产项目中长期使用 Claude Code 的开发者经验,包含那些只有踩过坑才能学到的东西。
教训 1:Claude Code 不是代替你思考,是放大你的思考
最常见的错误理解:把 Claude Code 当作「我不需要想了,让 AI 帮我决定」。
现实:Claude Code 会放大你的决策质量,无论好坏。
- 你给它一个模糊的需求 → 它用更快的速度做出一个不是你想要的东西
- 你给它一个清晰的需求 + 验证标准 → 它用更快的速度做出你真正需要的东西
经验:花在写清楚提示词上的时间,会以 3-5 倍的速度在后续省回来。
教训 2:测试覆盖不好,AI 越快越危险
Claude Code 能在几分钟内修改几十个文件。如果你的测试覆盖率低,你甚至不知道它破坏了什么。
实际案例:一个开发者让 Claude Code 重构支付模块。Claude 完成了,看起来没问题。三天后发现某个特定金额的退款逻辑被破坏——因为那部分没有测试。
经验:在用 Claude Code 做大型修改前,先问它:
"Before we refactor, identify which functions in @src/payments/ have poor test coverage.
Let's write tests for the critical paths first."教训 3:CLAUDE.md 是投资,不是配置
第一次用 Claude Code 的人通常跳过 CLAUDE.md,或者用 /init 生成后就不管了。这是很大的损失。
每次你告诉 Claude「我们项目用 pnpm,不是 npm」,就是在浪费 Token。把它写进 CLAUDE.md,之后每次会话自动生效。
经验:每次发现自己重复解释同一件事,就把它加进 CLAUDE.md。三个月后,你的 CLAUDE.md 会变成一个价值极高的「团队知识库」。
# 加进 CLAUDE.md 的候选项目
- 「我们的 API 返回格式是...」
- 「新的 React 组件放在 src/features/ 不是 src/components/」
- 「数据库迁移要先在 staging 跑,再跑 production」
- 「这个项目用 Zod 做 schema 验证,不用 Yup」教训 4:长会话是效率的敌人
用了一两个小时的会话,Claude 的输出质量会下降。这不是感觉,是上下文窗口被历史污染的结果。
经验:把长任务拆成多个会话,用 CLAUDE.md 保持项目上下文持久,用会话名称记录进度:
/rename payment-refactor-step-2
claude --continue # 下次直接继续教训 5:权限模式要匹配任务,不是永久设置
很多人要么一直用默认模式(每次都要点确认),要么为了方便开成 bypassPermissions(完全没有保护)。
更好的方式是按任务切换:
探索代码库 → plan 模式(只读,看清楚再动)
日常编码 → acceptEdits 模式
长时间自动任务 → auto 模式
CI/CD 隔离容器 → bypassPermissions
教训 6:把 AI 生成的代码当外包代码来 review
一个资深工程师的建议:用和 review 外包代码一样的标准来 review Claude 生成的代码。
特别关注:
- 认证和授权逻辑(AI 生成的代码 bug 率是人工的 1.5-2 倍)
- 支付和金融计算
- 数据变更操作
- 安全相关的边界条件
经验:对这些区域,让 Claude Code 在一个新会话里做专项安全审查(不是写代码的那个会话)。
教训 7:git 是你和 AI 协作的安全网
Claude Code 在每次修改前自动创建检查点,但你仍然需要良好的 git 习惯:
# 开始大型任务前
git stash # 保存工作区
git checkout -b feature/ai-refactor # 新分支
# 中间里程碑
git commit -m "step 1: refactored auth module" # 频繁小提交
# 出问题
git reset --hard HEAD # 回到上一个提交Git 提供了比 Claude Code 检查点更可靠的回退机制,养成频繁小提交的习惯。
教训 8:让 Claude Code 教你代码库
这是很多人没有利用到的功能:Claude Code 是极好的代码库导游。
"Explain how the payment flow works from user click to database write."
"Why does this code use optimistic updates instead of waiting for API response?"
"Walk me through what happens when a user's session expires."经验:接手一个新项目或新模块时,先花 30 分钟和 Claude Code「聊天」了解代码库,比看文档快得多,理解也更深。
教训 9:把重复任务变成 Skill
如果你发现自己经常重复同样的操作序列,把它变成 Skill:
---
name: new-feature
description: Create new feature following team patterns
---
创建新功能时:
1. 检查 @src/features/ 里类似功能的实现
2. 创建 src/features/[name]/ 目录结构
3. 参考 @docs/agent/api-conventions.md 的接口规范
4. 先写测试,再写实现
5. 更新 API 文档之后只需 /new-feature,Claude 就按这套流程来。
教训 10:越用越好——但需要有意识地积累
Claude Code 不会自动变聪明,但你维护的配置和上下文文件会越来越好:
- CLAUDE.md 越来越精准,减少误解
- Skills 越来越丰富,覆盖更多场景
- Hooks 越来越完善,越来越多事情自动处理
- 你对它能做什么的判断越来越准确
投资原则:每周花 15 分钟维护 .claude/ 目录,六个月后你会有一个真正了解你项目的 AI 团队成员。
来源:整理自 medium.com - Production-Ready Apps with Claude Code | franksworld.com | 整理:ClaudeEagle