首页 教程 常见问题

2.3 最佳实践

在日常工作中充分利用 Claude Code 的技巧和策略。

提示策略

从粗略描述开始,逐步细化

你不需要一开始就有完美的提示词。先给 Claude 一个大致方向,然后逐步完善:

# 第一步
修好登录 Bug

# 第二步(Claude 尝试后)
不对,问题在 session 处理那里。当 token 过期时应该重定向到登录页,而不是返回 500 错误。

当第一次尝试不理想时,你不需要重新开始——迭代改进。

提供充分的上下文

Claude Code 能读取整个代码库,但给它一些方向会更高效:

# 好的提示
修好 tests/test_auth.py 中的 test_token_expired 失败问题。
最近改了 middleware/auth.py 导致的。

这个提示告诉 Claude:什么出了问题在哪里可能的原因

拆分复杂任务

与其让 Claude 一次做很多事,不如分步来:

# 第一步:理解现状
分析一下当前数据库迁移脚本做了什么

# 第二步:执行变更
现在帮我把 user 表拆分成 user 和 profile 两张表

# 第三步:验证
运行迁移,确认数据没丢失

用 CLAUDE.md 设置持久化规则

将编码标准、架构决策和常用命令放在 CLAUDE.md 中,这样 Claude 每次会话都能记住:

# CLAUDE.md 示例
- 使用 Python 3.11+
- 所有函数必须有类型注解和 docstring
- 测试用 pytest,放在 tests/ 目录
- 提交前运行: pytest && ruff check . && ruff format .
- 数据库迁移: alembic upgrade head

上下文管理

用 /context 监控上下文使用

运行 /context 可以查看当前上下文窗口的使用情况,了解什么内容占用了空间。

用技能(Skills)减少上下文占用

对于不常用的工作流,创建技能并设置 disable-model-invocation: true,这样描述不会出现在上下文中,只有使用时才会加载完整内容。

用子代理处理长任务

子代理获得独立的全新上下文,与主会话完全隔离。它们的工作不会撑大你的上下文。完成后返回摘要。这就是子代理对长会话很有用的原因。

工作流模式

计划-执行模式

对于复杂的变更,使用计划模式让 Claude 先制定方案:

  1. Shift+Tab 切换到"计划模式"
  2. 描述任务
  3. Claude 会输出计划(只读操作)
  4. 审查计划后批准执行

迭代开发模式

  1. 描述功能需求
  2. Claude 编写代码
  3. 运行测试
  4. 指出问题
  5. Claude 修复
  6. 重复直到测试通过

代码审查模式

审查最近一次提交的变更,关注:
1. 安全问题(SQL 注入、XSS)
2. 边界条件处理
3. 代码风格是否一致
4. 有没有不必要的复杂度

安全实践

善用检查点

Claude 的每次文件编辑之前都会自动保存快照。如果出了问题,按两次 Esc 回滚。

控制权限

默认模式下,Claude 在编辑文件和运行命令前会询问你。确认安全后再批准。

注意有副作用的命令

Claude 在运行可能影响远程系统的命令(数据库写入、API 调用、部署)前会先询问你,因为这些操作无法通过检查点回滚。

进阶技巧

管道和组合

Claude Code 遵循 Unix 哲学,可以与其他工具组合:

# 将日志喂给 Claude 分析
tail -100 server.log | claude -p "找出错误模式"

# 批量审查
git diff main --name-only | claude -p "审查这些文件的安全问题"

用钩子自动化

设置钩子在 Claude 操作前后自动运行命令:

常见陷阱

下一步