Skip to content

最佳实践

Best Practices

本章汇总了 Claude Code 的使用技巧和最佳实践,帮助你更高效地使用这个工具。

提示词技巧

结构化提示词

使用"上下文 → 目标 → 约束"三段式结构编写提示词:

上下文:这是一个 Next.js 14 项目,使用 App Router 和 TypeScript
目标:创建一个用户认证模块,支持 OAuth2 和邮箱登录
约束:
- 使用 next-auth v5
- 不要使用 Pages Router
- 所有组件使用 Server Components,除非必须使用客户端交互

提供具体的上下文

❌ "帮我修复这个 bug"
✅ "src/auth.ts 第 45 行的 getUserById 函数在用户不存在时返回 undefined 而不是抛出错误,导致下游组件崩溃。请修复并添加适当的错误处理。"

分步骤拆解复杂任务

❌ "重构整个项目"
✅ "我需要将这个项目从 JavaScript 迁移到 TypeScript。让我们分步进行:
1. 先处理 src/utils/ 目录下的工具函数
2. 然后处理 src/components/ 下的组件
3. 最后更新 tsconfig.json 和 package.json"

上下文管理

常用 /clear 保持清洁

上下文窗口是有限资源。完成一个任务后,使用 /clear 清除上下文再开始下一个任务:

> /clear
> 新的任务描述...

善用 /compact

当对话变长时,手动触发压缩保留关键信息:

> /compact 保留当前的实现方案和已完成的步骤列表

会话恢复

bash
# 继续最近的对话
claude -c

# 从历史会话恢复
claude -r

工作流策略

先规划后执行

对于复杂任务,使用 Plan → Auto 两步工作流:

  1. Plan 模式(Shift+Tab 切换):让 Claude 分析任务,输出详细计划
  2. 审核计划,确认方向正确
  3. Auto 模式(Shift+Tab 切换):让 Claude 执行计划
[Plan 模式]
> 分析一下如何给这个项目添加国际化支持

[审核计划后切换到 Auto 模式]
> 按照刚才的计划执行

反馈循环

提供反馈可以显著提升结果质量(2-3 倍提升):

  • 截图反馈:让 Claude 看到 UI 渲染结果
  • 测试反馈:运行测试并将结果反馈给 Claude
  • 错误反馈:将错误信息粘贴给 Claude
> 运行 npm test,将结果反馈给我,然后修复失败的测试

利用 SubAgent 并行化

对于可以并行处理的任务,让 Claude 使用 SubAgent:

> 请并行搜索以下内容:
> 1. 项目中所有的 API 端点
> 2. 所有使用 deprecated API 的代码
> 3. 缺少错误处理的函数

CLAUDE.md 编写技巧

保持简洁

CLAUDE.md 在每次对话中都会被加载,内容越多消耗的 Token 越多。

markdown
# 好的 CLAUDE.md(简洁、关键)

## 项目
- Next.js 14 + TypeScript + Tailwind
- 包管理器:pnpm

## 规范
- 组件使用 PascalCase
- 工具函数使用 camelCase
- 测试文件与源文件同目录

## 常用命令
- pnpm dev — 启动开发服务器
- pnpm test — 运行测试
- pnpm lint — 检查代码规范

Skills 优于长指令

如果某个指令只在特定场景需要,用 Skill 而不是 CLAUDE.md:

❌ 在 CLAUDE.md 中放 200 行代码审查清单
✅ 创建 .claude/skills/review/SKILL.md 按需加载

分层管理

层级文件位置内容
用户级~/.claude/CLAUDE.md个人偏好(语言、风格)
项目级项目根/CLAUDE.md项目架构、规范、团队约定
本地级.claude/CLAUDE.md个人开发配置(不提交 Git)

安全实践

权限配置

json
{
  "permissions": {
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push --force*)"
    ],
    "ask": [
      "Bash(git *)",
      "Write(*.env*)"
    ],
    "allow": [
      "Read",
      "Glob",
      "Grep"
    ]
  }
}

不提交敏感信息

确保 .gitignore 包含:

gitignore
.claude/settings.local.json
.claude/CLAUDE.md  # 本地级(如包含个人配置)
.env
.env.local

成本控制

选择合适的模型

场景推荐模型理由
复杂架构设计Opus 4.6最强推理能力
日常开发Sonnet 4.6速度与质量平衡
简单任务/CIHaiku 4.5最低成本

减少 Token 消耗

  1. 及时 /clear — 完成任务后清除无关上下文
  2. 使用 /compact — 压缩长对话
  3. 精确的提示词 — 减少来回沟通
  4. 使用 Skills — 按需加载,不常驻上下文
  5. 查看费用/cost 查看当前会话费用

监控使用量

bash
# 查看当前会话费用
> /cost

# 设置最大轮次限制
claude --max-turns 20

团队协作

共享配置

将以下文件提交到 Git 仓库:

  • CLAUDE.md — 项目级规范
  • .claude/settings.json — 项目级设置
  • .claude/skills/ — 团队技能
  • .mcp.json — MCP 服务器配置

统一工作流

在 CLAUDE.md 中定义团队工作流:

markdown
## 开发流程

1. 创建功能分支:feature/xxx
2. 开发完成后运行 pnpm test
3. 使用 /commit 提交(遵循 Conventional Commits)
4. 使用 /pr 创建 Pull Request
5. 等待 CI 通过和 Code Review

常见误区

误区正确做法
一次给太多任务拆分为多个独立任务
不检查 Claude 的输出审查生成的代码
忽略上下文管理定期 /clear 和 /compact
CLAUDE.md 写太多内容精简,详细指令放 Skills
所有任务都用 Opus按需选择模型
不使用 Plan 模式复杂任务先规划