Claude Code 常用工作流:代码探索、修复Bug、重构、测试指南
本页提供Claude Code日常开发中的常用工作流,包括探索代码、修复Bug、重构、测试、创建PR、处理文档、恢复会话、并行worktree、计划模式、子代理委托和管道脚本等。关键操作:使用 claude --continue 恢复最近会话,--worktree 实现并行编辑不冲突,--permission-mode plan 先审后改。
逐步骤指南:探索代码库、修复Bug、重构、测试以及其他日常任务。
本页内容涵盖:
- 提示配方:探索代码、修复Bug、重构、测试、PR和文档
- 恢复之前的对话:支持跨多次坐席完成任务
- 使用worktree运行并行会话:防止并发编辑冲突
- 计划模式:先审后改:在改动磁盘前审查变更
- 将研究委托给子代理:保持主上下文干净
- 将Claude管道化到脚本中:用于CI和批量处理
提示配方
下面是一些日常任务的提示模式,适用于探索不熟悉的代码、调试、重构、编写测试、创建PR等。每种模式可在任意Claude Code界面中使用,根据项目调整措辞。
了解新代码库
快速获取代码库概览
假设你刚加入一个新项目,需要快速了解其结构。
cd /path/to/project
claude
给我一个这个代码库的概览
解释这里使用的主要架构模式
主要的数据模型有哪些?
认证是如何处理的?
提示:
- 从宽泛的问题开始,然后缩小到特定区域
- 询问项目中使用的编码规范和模式
- 请求项目特定术语的词汇表
查找相关代码
假设你需要定位与某个特定功能相关的代码。
找到处理用户认证的文件
这些认证文件是如何协作的?
从前端到数据库追踪登录流程
提示:
- 明确你要找什么
- 使用项目中的领域语言
- 安装你的语言的代码智能插件,让Claude能够精确地进行“跳转到定义”和“查找引用”导航
高效修复Bug
假设你遇到了一个错误消息,需要找到并修复其根源。
我运行 npm test 时看到一个错误
建议几种修复 user.ts 中 @ts-ignore 的方式
更新 user.ts,添加你建议的空值检查
提示:
- 告诉Claude复现问题的命令,获取堆栈跟踪
- 提及任何复现错误的步骤
- 告知Claude错误是间歇性的还是持续性的
重构代码
假设你需要更新旧代码以使用现代模式和最佳实践。
找出代码库中使用废弃API的地方
建议如何重构 utils.js 使用现代JavaScript特性
重构 utils.js 使用ES2024特性,同时保持相同的行为
运行被重构代码的测试
提示:
- 请Claude解释现代方法的好处
- 要求变更在需要时保持向后兼容
- 以小而可测试的增量进行重构
处理测试
假设你需要为未覆盖的代码添加测试。
找出 NotificationsService.swift 中没有测试覆盖的函数
给通知服务添加测试
为通知服务添加边界条件的测试用例
运行新测试并修复所有失败
Claude会根据你项目现有的测试模式和约定生成测试。要求测试时,请明确要验证的行为。Claude会检查你现有的测试文件,以匹配已有的风格、框架和断言模式。
为了全面覆盖,请Claude识别你可能遗漏的边界情况。Claude可以分析你的代码路径,并建议针对错误条件、边界值和容易被忽略的意外输入的测试。
创建Pull Request
你可以直接要求Claude创建PR(如“为我的改动创建一个PR”),或逐步引导:
总结我对认证模块所做的改动
创建一个PR
增强PR描述,添加更多关于安全改进的上下文
当你使用 gh pr create 创建PR时,该会话会自动关联到该PR。之后可通过 claude --from-pr <number> 或粘贴PR URL到 /resume 选择器搜索中来恢复。
在提交前审查Claude生成的PR,请Claude突出潜在的风险或注意事项。
处理文档
假设你需要为代码添加或更新文档。
找出 auth 模块中没有JSDoc注释的函数
给 auth.js 中未注释的函数添加JSDoc注释
用更多上下文和示例改进生成的文档
检查文档是否符合我们的项目标准
提示:
- 指定你想要的文档风格(JSDoc、docstrings等)
- 在文档中要求示例
- 为公开API、接口和复杂逻辑请求文档
在笔记和非代码文件夹中工作
Claude Code可以在任何目录中运行。在笔记仓库、文档文件夹或任何Markdown文件集合中运行它,你可以像处理代码一样搜索、编辑和重新组织内容。
.claude/ 目录和 CLAUDE.md 与其他工具的配置目录共存,不会冲突。Claude在每次工具调用时都会重新读取文件,因此你在其他应用程序中进行的编辑在下一次读取该文件时就会被看到。
处理图片
假设你需要在代码库中处理图片,并希望Claude帮助你分析图片内容。
你可以使用以下任意方法:
- 将图片拖放到Claude Code窗口中
- 复制图片,然后用
Ctrl+V(不要用Cmd+V)粘贴到CLI中 - 向Claude提供图片路径,例如“分析这张图片:/path/to/your/image.png”
这张图片展示了什么?
描述这张截图中的UI元素
这张图表中是否有任何有问题的元素?
这是一张错误的截图。是什么原因造成的?
这是我们当前的数据库模式。我们应该如何为这个新功能修改它?
生成与该设计稿匹配的CSS
什么HTML结构能重现这个组件?
提示:
- 在文字描述不清晰或繁琐时使用图片
- 包含错误截图、UI设计或图表以提供更好的上下文
- 你可以在一次对话中使用多张图片
- 图片分析适用于图表、截图、设计稿等
- 当Claude引用图片(例如
[Image #1])时,使用Cmd+Click(Mac)或Ctrl+Click(Windows/Linux)链接可在默认查看器中打开图片
引用文件和目录
使用 @ 快速包含文件或目录,无需等待Claude读取它们。
解释 @src/utils/auth.js 中的逻辑
这会将文件完整内容包含到对话中。
@src/components/ 的结构是什么?
这会提供带有文件信息的目录列表。
显示 @github:repos/owner/repo/issues 中的数据
这将使用 @server:resource 格式从连接的MCP服务器获取数据。详见MCP资源。
提示:
- 文件路径可以是相对路径或绝对路径
@文件引用会将该文件所在目录及其父目录中的CLAUDE.md添加到上下文- 目录引用只显示文件列表,不包含内容
- 你可以在一条消息中引用多个文件(例如 “@file1.js 和 @file2.js”)
定时运行Claude
假设你希望Claude自动定期处理任务,比如每天早上审查开放的PR、每周审计依赖项、或每晚检查CI失败情况。
根据任务运行的位置选择调度选项:
| 选项 | 运行位置 | 适用场景 |
|---|---|---|
| Routines | Anthropic管理的基础设施 | 即使电脑关机也要运行。除了计划调度,还可以通过API调用或GitHub事件触发。在 claude.ai/code/routines 配置。 |
| 桌面端计划任务 | 你的机器,通过桌面应用 | 需要直接访问本地文件、工具或未提交更改。 |
| GitHub Actions | 你的CI流水线 | 关联到PR事件或仓库的cron计划,应跟随工作流配置文件。 |
/loop |
当前CLI会话 | 会话期间快速轮询。任务在新对话开始时停止;--resume 和 --continue 恢复未过期的任务。 |
为计划任务编写提示时,明确说明成功是什么样以及如何处理结果。任务自主运行,无法提出澄清问题。例如:“审查标签为
needs-review的开放PR,在问题处留下内联评论,并在#eng-reviewsSlack频道发布摘要。”
询问Claude关于其能力
Claude内置了对自身文档的访问权限,能回答关于其特性和限制的问题。
示例问题
Claude Code能创建Pull Request吗?
Claude Code如何处理权限?
有哪些可用的技能?
如何在Claude Code中使用MCP?
如何为Amazon Bedrock配置Claude Code?
Claude Code有哪些限制?
Claude会基于文档回答这些问题。要进行动手实践,请运行
/powerup查看带有动画演示的交互式课程,或参考上方特定工作流章节。
提示:
- Claude始终能访问最新的Claude Code文档,无论你使用哪个版本
- 提出具体问题以获得详细答案
- Claude可以解释复杂特性,如MCP集成、企业配置和高级工作流
恢复之前的对话
当任务跨越多个坐席时,从上次中断的地方继续,无需重新解释上下文。Claude Code会在本地保存每次对话。
claude --continue
这会恢复当前目录中最新的会话;如果没有,则打印 No conversation found to continue 并退出。使用 claude --resume 从列表中选择,或从已运行的会话中使用 /resume。详见管理会话了解命名、分支和完整选择器参考。
使用worktree运行并行会话
在一个终端处理新功能,同时让Claude在另一个终端修复Bug,编辑不会冲突。每个worktree都是其自己分支上的独立检出。
claude --worktree feature-auth
在第二个终端中运行相同命令但使用不同名称,即可启动一个隔离的并行会话。详见Worktrees了解清理、.worktreeinclude以及非git版本控制系统支持。若想在一个屏幕上监控并行会话而无需多个终端,请参见后台代理。
计划模式:先审后改
对于你想在改动磁盘之前先审查的更改,切换到计划模式。Claude读取文件并提出计划,但在你批准前不会进行任何编辑。
claude --permission-mode plan
你也可以在会话中按 Shift+Tab 切换到计划模式。参见计划模式了解审批流程和在文本编辑器中编辑计划的方法。
将研究委托给子代理
探索大型代码库会填充你的上下文窗口。委托探索,只让结果回来。
使用子代理调查我们的认证系统如何处理令牌刷新
子代理在自己的上下文窗口中读取文件并报告摘要。参见子代理了解如何定义带有自己工具和提示的自定义代理。
将Claude管道化到脚本中
以非交互方式运行Claude,用于CI、预提交钩子或批量处理。stdin和stdout的工作方式与任何Unix工具一样。
git log --oneline -20 | claude -p "总结这些最近的提交"
参见非交互模式了解输出格式、权限标志和扇出模式。
下一步
- 最佳实践:充分发挥Claude Code的模式
- 管理会话:恢复、命名和分支对话
- Worktrees:运行隔离的并行会话
- 扩展Claude Code:添加技能、钩子、MCP、子代理和插件
常见问题
Claude Code 怎么用?
在终端进入你的项目目录,输入 claude 启动会话,然后用自然语言描述你的编码任务。例如“解释这个代码库的结构”或“修复这个错误”,Claude Code 会理解并执行相应操作。
Claude Code 如何实现并行开发而不冲突?
使用 --worktree 参数启动会话,例如 claude --worktree feature-auth。每个worktree都是独立分支上的单独检出,编辑不会冲突。可以在多个终端分别启动不同名称的worktree实现并行任务。
如何让Claude Code先提出计划再修改代码?
使用计划模式:启动时加 --permission-mode plan,或在会话中按 Shift+Tab 切换。Claude以只读方式分析代码并生成计划,批准后才实际编辑。适合复杂重构或安全审查。