探索-规划-编码工作流程

这是 Claude Code 用户社区中最成功的工作流程模式之一,适合大多数编程任务。

工作流程概述

探索-规划-编码工作流程包含以下步骤:

  1. 探索阶段 - 理解问题和现有代码
  2. 规划阶段 - 制定详细的解决方案
  3. 编码阶段 - 实现解决方案
  4. 提交阶段 - 完成代码提交和文档更新

详细步骤

第一步:探索阶段

目标 :全面了解问题背景和现有代码结构

操作指南

请阅读以下文件并了解项目结构,暂时不要编写任何代码:
- src/components/UserList.tsx
- src/services/userService.ts
- docs/api.md

我需要添加用户搜索功能,请先了解现有的用户管理逻辑。

最佳实践

  • ✅ 明确告诉 Claude 暂时不要编写代码
  • ✅ 提供具体的文件路径或给出一般指引
  • ✅ 解释您要解决的具体问题

示例对话

第二步:规划阶段

目标 :制定详细、可行的解决方案

操作指南

基于您对代码的了解,请制定一个添加用户搜索功能的详细计划。
请使用 "think" 进行深入思考,确保方案的完整性。

使用思维触发词

  • think - 基础思维预算
  • think hard - 中等思维预算
  • think harder - 高级思维预算
  • ultrathink - 最高思维预算

规划要求

  1. 技术方案 - 使用什么技术和模式
  2. 文件清单 - 需要修改哪些文件
  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。

最后更新于: