计划模式深入指南
MyDeskBot 的计划模式是处理复杂开发任务的强大工具。本指南将深入讲解如何高效使用计划模式。
目录
何时使用计划模式
计划模式适合以下场景:
✅ 适合使用的场景
- 新功能开发 - 实现全新功能模块
- 大规模重构 - 重构大型代码块
- 系统集成 - 集成第三方服务
- 性能优化 - 系统级性能优化
- 架构升级 - 升级技术架构
- Bug 调试 - 复杂问题的根因分析
❌ 不适合使用的场景
- 简单代码补全 - 使用代码补全功能
- 小范围修改 - 直接编辑更快
- 快速问答 - 使用 Chat 模式
- 单行代码 - 不需要计划
计划模式工作流程
完整流程图
mermaid
graph TD
A[描述任务] --> B[AI 分析需求]
B --> C[生成详细计划]
C --> D{审查计划}
D -->|满意| E[分步执行]
D -->|不满意| F[修改需求]
F --> B
E --> G[每步执行后验证]
G --> H{完成所有步骤?}
H -->|否| E
H -->|是| I[任务完成]详细步骤
步骤 1: 清晰描述任务
使用自然语言详细描述任务:
好的任务描述:
实现一个基于 WebSocket 的实时通知系统,包括:
- 用户连接管理
- 消息广播
- 私聊功能
- 在线状态管理
- 消息持久化
技术栈:Node.js + Socket.io + Redis包含的关键信息:
- 功能目标
- 技术约束
- 性能要求
- 时间限制(可选)
步骤 2: AI 生成计划
MyDeskBot 会分析需求并生成详细计划,包括:
- 阶段划分 - 将任务分解为多个阶段
- 依赖关系 - 识别任务间的依赖
- 工作量估算 - 估算每个步骤的时间
- 风险提示 - 识别潜在风险
步骤 3: 审查和调整计划
审查生成的计划,必要时进行调整:
markdown
## 审查清单
### 计划完整性
- [ ] 所有功能需求都已覆盖
- [ ] 技术方案可行
- [ ] 依赖关系正确
### 工作量合理性
- [ ] 时间估算合理
- [ ] 阶段划分适当
### 风险识别
- [ ] 已识别主要风险
- [ ] 有应对措施
### 可执行性
- [ ] 每个步骤都清晰可执行
- [ ] 有明确的验收标准步骤 4: 分步执行
按照计划逐步执行每个步骤:
javascript
// 每完成一个步骤,标记完成
const steps = [
{ id: 1, task: "安装依赖", status: "completed" },
{ id: 2, task: "设计数据结构", status: "completed" },
{ id: 3, task: "实现 WebSocket 服务", status: "in_progress" },
// ...
];步骤 5: 验证和迭代
每完成一步都进行验证:
bash
# 运行测试
npm test
# 检查代码质量
npm run lint
# 手动测试功能高级技巧
1. 利用上下文信息
提供相关的代码和文档:
重构订单处理模块
相关文件:
- OrderService.java (已提供)
- Order.java (已提供)
约束:
- 必须保持 API 兼容
- 不影响现有功能2. 分阶段实施
对于大型项目,分多个阶段实施:
markdown
# 第一阶段(MVP)
- 核心功能
- 基础测试
# 第二阶段
- 完整功能
- 性能优化
# 第三阶段
- 高级特性
- 完善文档3. 设置里程碑
在计划中设置关键里程碑:
markdown
## 里程碑
### M1: 核心功能完成(第 3 天)
- [ ] 所有核心功能可运行
- [ ] 通过冒烟测试
- [ ] 性能满足要求
### M2: 功能完整(第 7 天)
- [ ] 所有功能实现
- [ ] 测试覆盖率 > 80%
- [ ] 文档完整
### M3: 生产就绪(第 10 天)
- [ ] 通过压力测试
- [ ] 安全审查通过
- [ ] 部署文档完成4. 风险管理
在计划中明确风险和应对措施:
markdown
## 风险管理
### 风险 1: 性能不达标
- 概率:中等
- 影响:高
- 应对:
- 提前进行性能测试
- 准备优化方案
- 必要时考虑架构调整
### 风险 2: 第三方 API 不稳定
- 概率:低
- 影响:高
- 应对:
- 实现重试机制
- 准备降级方案
- 监控 API 状态实际案例
案例 1: 实现认证系统
任务描述:
实现一个基于 JWT 的用户认证系统,包括:
- 用户注册和登录
- Token 刷新机制
- 密码重置功能
- 邮箱验证
- 角色权限管理
技术栈:Node.js + Express + MongoDB + Passport.js生成的计划摘要:
markdown
# 认证系统开发计划
## 阶段一:设计(4 小时)
1. 数据库设计
- 用户表
- 角色表
- 权限表
2. API 设计
- 认证端点
- 用户管理端点
- 权限管理端点
3. 安全设计
- JWT 配置
- 密码策略
- 防护措施
## 阶段二:后端开发(12 小时)
1. 基础设施搭建
2. 数据库实现
3. 认证服务
4. 用户服务
5. 权限服务
## 阶段三:前端开发(10 小时)
1. UI 组件
2. 状态管理
3. API 集成
4. 路由守卫
## 阶段四:测试(8 小时)
1. 单元测试
2. 集成测试
3. 端到端测试
## 阶段五:部署(2 小时)
1. 部署准备
2. 部署上线
总计:36 小时(约 4.5 天)案例 2: 性能优化
任务描述:
优化 API 响应时间。当前平均响应时间为 800ms,
目标是将平均响应时间降低到 200ms 以内。
问题:
- 没有使用缓存
- N+1 查询问题
- 数据库索引不足
- 同步操作阻塞生成的计划摘要:
markdown
# API 性能优化计划
## 阶段一:诊断(2 小时)
1. 性能基准测试
- 记录当前响应时间
- 识别慢查询
- 分析 CPU/内存使用
2. 代码审查
- 识别性能瓶颈
- 识别 N+1 查询
- 分析并发问题
## 阶段二:优化实施(8 小时)
1. 数据库优化
- 添加必要索引
- 优化查询语句
- 实现查询缓存
2. 代码优化
- 解决 N+1 查询
- 实现并发处理
- 使用异步操作
3. 缓存策略
- Redis 集成
- 缓存失效策略
- 缓存预热
## 阶段三:验证(2 小时)
1. 压力测试
2. 性能对比
3. 确认目标达成
总计:12 小时(约 1.5 天)最佳实践
1. 迭代改进
不要一次性完成所有改进,迭代进行:
第 1 轮:核心功能
第 2 轮:优化和改进
第 3 轮:完善和测试2. 持续验证
每一步都进行验证,避免问题积累:
bash
# 每完成一个阶段
npm test
npm run lint
npm run build3. 文档同步
边开发边更新文档:
markdown
## 开发日志
### 2024-01-15
- [x] 完成认证服务
- [x] 编写测试
- [ ] 更新 API 文档4. 团队协作
使用计划模式进行团队协作:
markdown
## 团队分配
### 后端团队
- 阶段一:张三
- 阶段二:李四、王五
### 前端团队
- 阶段三:赵六、钱七
### 测试团队
- 阶段四:孙八