探索-规划-编码工作流程
这是 Claude Code 用户社区中最成功的工作流程模式之一,适合大多数编程任务。
工作流程概述
探索-规划-编码工作流程包含以下步骤:
- 探索阶段 - 理解问题和现有代码
- 规划阶段 - 制定详细的解决方案
- 编码阶段 - 实现解决方案
- 提交阶段 - 完成代码提交和文档更新
详细步骤
第一步:探索阶段
目标:全面了解问题背景和现有代码结构
操作指南:
请阅读以下文件并了解项目结构,暂时不要编写任何代码:
- src/components/UserList.tsx
- src/services/userService.ts
- docs/api.md
我需要添加用户搜索功能,请先了解现有的用户管理逻辑。
最佳实践:
- ✅ 明确告诉 Claude 暂时不要编写代码
- ✅ 提供具体的文件路径或给出一般指引
- ✅ 解释您要解决的具体问题
示例对话:
用户:请阅读 src/auth/ 目录下的所有文件,了解当前的认证系统实现,不要修改任何代码。我想要添加双因素认证功能。
Claude:我来分析您的认证系统...
[Claude 读取并分析文件]
我已经分析了您的认证系统,发现了以下关键组件:
1. LoginService.ts - 处理基础登录逻辑
2. AuthMiddleware.ts - 验证 JWT token
3. User.model.ts - 用户数据模型
当前系统使用 JWT 认证,缺少 2FA 支持。要添加双因素认证,我们需要考虑...
第二步:规划阶段
目标:制定详细、可行的解决方案
操作指南:
基于您对代码的了解,请制定一个添加用户搜索功能的详细计划。
请使用 "think" 进行深入思考,确保方案的完整性。
使用思维触发词:
think
- 基础思维预算think hard
- 中等思维预算think harder
- 高级思维预算ultrathink
- 最高思维预算
规划要求:
- 技术方案 - 使用什么技术和模式
- 文件清单 - 需要修改哪些文件
- 实现步骤 - 按优先级排序的任务
- 风险评估 - 可能遇到的问题
- 测试策略 - 如何验证功能
示例输出:
Claude:经过深入思考,我制定了以下实现计划:
## 双因素认证实现方案
### 技术选型
- 使用 speakeasy 库生成 TOTP 密钥
- 使用 qrcode 库生成二维码
- 扩展现有 JWT 认证流程
### 文件修改清单
1. 数据库:添加 user_2fa 表
2. 后端:
- models/User.ts - 添加 2FA 相关字段
- services/TwoFactorService.ts - 新建 2FA 服务
- controllers/AuthController.ts - 修改登录流程
3. 前端:
- components/TwoFactorSetup.tsx - 新建设置组件
- pages/Login.tsx - 修改登录页面
### 实现步骤
1. 数据库 schema 更新
2. 后端 2FA 服务实现
3. 前端设置界面
4. 登录流程集成
5. 测试和文档
这个方案看起来合理吗?您希望我开始实现吗?
第三步:编码阶段
目标:按计划实现解决方案
操作指南:
计划看起来很好,请开始实现。按照您提出的步骤顺序进行,
每完成一个重要步骤时暂停,让我确认后再继续。
实现最佳实践:
- 📝 分步实现 - 不要一次完成所有代码
- 🔍 及时验证 - 每步完成后进行测试
- 📋 保持沟通 - 重要决策点暂停确认
- 🧪 编写测试 - 确保代码质量
示例对话:
Claude:我将开始实现双因素认证。首先创建数据库 migration:
[创建 migration 文件]
数据库 schema 已创建。接下来我将实现 TwoFactorService 核心服务。
您希望我继续吗?
用户:看起来不错,请继续实现服务层。
Claude:好的,我来实现 TwoFactorService...
[实现服务代码]
服务层已完成,包含生成密钥、验证码、启用/禁用 2FA 等功能。
现在准备实现前端组件,是否继续?
第四步:提交阶段
目标:完成代码提交和相关文档更新
操作指南:
代码实现完成后,请:
1. 运行所有测试确保功能正常
2. 创建有意义的 git commit
3. 更新 README 或相关文档
4. 如需要,创建 Pull Request
提交最佳实践:
用户:请提交这些更改并更新相关文档。
Claude:好的,我来完成提交流程:
1. 首先运行测试...
[运行测试命令]
2. 创建 git commit...
[执行 git add 和 commit]
3. 更新 README.md...
[更新文档]
4. 创建 Pull Request...
[使用 gh 命令创建 PR]
所有步骤已完成!双因素认证功能已实现并提交。
工作流程变体
快速原型模式
适合概念验证或快速测试:
快速实现一个用户搜索的原型,重点是功能可用,
代码质量暂时不用太考虑。
重构模式
适合改进现有代码:
分析 src/utils/dataProcessor.js 的性能问题,
制定重构计划,然后逐步改进代码质量。
学习模式
适合理解新代码库:
我刚接手这个项目,请帮我理解:
1. 整体架构是什么样的?
2. 关键的业务逻辑在哪里?
3. 如何在本地运行和调试?
常见陷阱
❌ 跳过探索阶段
问题:直接开始编码,缺乏上下文理解
// 不好的方式
用户:帮我添加一个搜索功能
// 更好的方式
用户:请先了解 src/components/ProductList.tsx 的现有实现,
然后为产品列表添加搜索功能
❌ 规划过于简单
问题:缺少详细计划导致后期返工
// 不好的方式
Claude:我会添加一个搜索框和过滤逻辑
// 更好的方式
Claude:我制定了以下详细计划:
1. UI 层:搜索输入框、过滤选项、结果展示
2. 逻辑层:防抖搜索、多条件过滤、结果排序
3. 数据层:API 接口设计、缓存策略
4. 测试:单元测试、集成测试、用户测试
❌ 一次性完成所有代码
问题:难以调试和验证
// 不好的方式
用户:请完成整个功能
// 更好的方式
用户:请先实现搜索 API,完成后我们测试一下再继续前端
高级技巧
使用子代理
对于复杂问题,使用子代理验证细节:
请使用子代理验证以下技术方案的可行性:
1. 使用 ElasticSearch 做全文搜索的性能影响
2. 在现有数据库上添加搜索索引的兼容性
创建检查点
为重要节点创建文档:
在开始编码前,请创建一个 GitHub Issue 记录我们的实现计划,
这样如果需要调整方向,可以回到这个检查点。
并行开发
对于独立的功能模块:
请为前端和后端分别制定开发计划,
我想并行开发这两部分。
下一步: 测试驱动开发 - 学习如何在 Claude Code 中实施 TDD。
最后更新于: