基础用法人人都会。这篇讲的是那些在实际项目中被反复验证、显著提升输出质量的高级技巧——很多人用了几个月才摸索出来。
技巧 1:TDD 模式——先测试,再实现
为什么有效:测试是对「正确答案」最精确的定义,Claude 有了可自我验证的标准,不需要你反复 review。
text
# 标准写法(效果一般)
"实现邮件验证函数"
# TDD 写法(效果更好)
"先写测试:
validateEmail('user@example.com') -> true
validateEmail('invalid') -> false
validateEmail('user@.com') -> false
validateEmail('') -> false
测试覆盖边界条件,通过后再实现。"修 bug 的 TDD:
text
"用户提交空表单没有报错。
先写能复现 bug 的测试(现在应该失败),
修复后让测试通过,再跑整个测试套件。"技巧 2:截图验证(UI 任务必备)
text
[粘贴设计图截图]
实现这个设计。完成后:
1. 在 1280px 和 375px 分别截图
2. 列出和设计稿的所有视觉差异
3. 逐一修复,再次截图确认给截图验证指令,能避免「Claude 说完成了,实际离设计稿差很远」。
技巧 3:让 Claude 面试你的需求
text
我想构建用户通知系统。
用 AskUserQuestion 工具面试我:
- 发送渠道(邮件/推送/短信)?
- 需要已读/未读?通知类型有哪些?
- 实时还是批量?
不要问显而易见的,重点挖 edge case。
覆盖所有决策点后写到 SPEC.md。完成后新开会话执行(干净上下文):
text
按 @SPEC.md 实现通知系统,遵循 @CLAUDE.md 规范。技巧 4:Reviewer 模式(新会话 review)
text
# 会话 A:实现
"实现 rate limiter middleware"
# 新开会话 B:review
"Review @src/middleware/rateLimiter.ts,关注:
- 并发竞态条件
- 窗口边界的请求计数
- 和 @src/middleware/auth.ts 的风格一致性
用 文件:行号 列出问题,给出具体修复建议。"新会话有干净上下文,不会偏向自己写的代码。
技巧 5:参考现有模式
text
# 差的
"添加用户管理页面"
# 好的
"参考 @src/pages/ProductsPage.tsx 的实现,
创建功能相同的 UsersPage,支持分页、筛选、批量操作。
使用相同的组件结构和状态管理方式。"输出天然和现有代码风格一致,不需要事后反复修改。
在 CLAUDE.md 里系统性配置:
markdown
## 参考模式
- 新 API handler 参考 @src/api/handlers/users.ts
- 新 React 页面参考 @src/pages/ProductsPage.tsx
- 数据库访问通过 Repository 层,参考 @src/repos/UserRepo.ts技巧 6:可中断的大型任务
text
把 src/payments/ 重构为 async/await。
每完成一个文件就暂停:
1. 告诉我改了什么
2. 展示 diff
3. 运行测试确认无 regression
4. 等我说「继续」再处理下一个逐步确认,出问题立刻发现,不用等全部完成才发现中间某步出错。
技巧 7:探索-计划-执行三阶段
text
# 阶段 1:探索(plan 模式)
"分析 src/auth/ 的认证逻辑,不要做任何修改"
# 阶段 2:计划(仍在 plan 模式)
"制定把 JWT 换成 OAuth2 的迁移方案,
列出影响文件、步骤和风险点"
# 阶段 3:执行(切换 acceptEdits)
"按方案执行步骤 1:更新 auth/session.ts"在「探索」和「计划」阶段看到全貌,执行时方向更准确。
提示词改进速查表
| 场景 | 差 | 好 |
|---|---|---|
| 实现功能 | "加搜索功能" | "参考 CategoryFilter.tsx,实现 UserSearchFilter,支持名称和邮件搜索" |
| 修 bug | "修一下 bug" | "空表单不报错,先写失败测试复现,再修复" |
| UI 任务 | "实现这个设计" | "[截图] 完成后截图对比,列差异,修复,再截图确认" |
| 大型任务 | "重构认证模块" | "plan 模式分析影响范围,我确认后再执行" |
来源:Claude Code 官方 Best Practices | morphllm.com | 整理:ClaudeEagle