Skip to content

计划模式深入指南

MyDeskBot 的计划模式是处理复杂开发任务的强大工具。本指南将深入讲解如何高效使用计划模式。

目录

何时使用计划模式

计划模式适合以下场景:

✅ 适合使用的场景

  1. 新功能开发 - 实现全新功能模块
  2. 大规模重构 - 重构大型代码块
  3. 系统集成 - 集成第三方服务
  4. 性能优化 - 系统级性能优化
  5. 架构升级 - 升级技术架构
  6. Bug 调试 - 复杂问题的根因分析

❌ 不适合使用的场景

  1. 简单代码补全 - 使用代码补全功能
  2. 小范围修改 - 直接编辑更快
  3. 快速问答 - 使用 Chat 模式
  4. 单行代码 - 不需要计划

计划模式工作流程

完整流程图

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 build

3. 文档同步

边开发边更新文档:

markdown
## 开发日志

### 2024-01-15

- [x] 完成认证服务
- [x] 编写测试
- [ ] 更新 API 文档

4. 团队协作

使用计划模式进行团队协作:

markdown
## 团队分配

### 后端团队

- 阶段一:张三
- 阶段二:李四、王五

### 前端团队

- 阶段三:赵六、钱七

### 测试团队

- 阶段四:孙八

下一步