# 任务分解规则 ## 📋 规则说明 在接到新任务后,必须将主任务分解成合适的子任务,通过分步执行的方式来保障开发的稳定性和准确性。 --- ## 🎯 核心原则 1. **先分解,后执行** - 不要直接开始编码,先进行任务分解 2. **小步快跑** - 每个子任务应该是独立、可测试的小单元 3. **逐步验证** - 完成一个子任务后,验证无误再进行下一个 4. **降低风险** - 避免一次性修改过多文件导致的连锁错误 --- ## 📝 任务分解流程 ### 第一步:理解需求 - 仔细阅读用户的需求描述 - 明确功能目标和验收标准 - 识别涉及的技术栈和文件 ### 第二步:分解任务 将主任务分解为 3-8 个子任务,每个子任务应该: - **独立性** - 可以独立完成和测试 - **原子性** - 只做一件事情 - **可验证** - 有明确的完成标准 - **有序性** - 按照依赖关系排序 ### 第三步:列出任务清单 使用 TaskCreate 工具创建任务清单,包括: - 任务标题(简短、动词开头) - 详细描述(包含具体要做什么) - 预期结果(如何验证完成) ### 第四步:逐个执行 - 使用 TaskUpdate 标记任务为 in_progress - 完成后标记为 completed - 遇到问题及时反馈,不要继续下一个任务 --- ## ✅ 良好的任务分解示例 **主任务:** 添加用户管理功能 **子任务分解:** 1. 创建用户列表页面路由和模板 2. 创建用户详情页面路由和模板 3. 实现重置密码 API 接口 4. 实现修改用户名 API 接口 5. 在管理后台首页添加用户统计 6. 在管理后台导航添加用户管理入口 --- ## ❌ 不良的任务分解示例 **错误示例1:任务过大** - ❌ "完成用户管理功能" - 太笼统,无法独立验证 **错误示例2:任务过细** - ❌ "创建 user_list.html 文件" - ❌ "在 user_list.html 中添加表格" - ❌ "在表格中添加用户名列" - 这样分解过于琐碎,失去了任务管理的意义 **错误示例3:任务无序** - ❌ 先做"添加导航入口",后做"创建页面路由" - 应该先有功能,再添加入口 --- ## 🔍 任务粒度参考 ### 合适的任务粒度: - 创建一个完整的页面(路由 + 模板 + 样式) - 实现一个 API 接口(路由 + 逻辑 + 错误处理) - 添加一个数据库表(模型 + 迁移脚本) - 实现一个完整的功能模块(前端 + 后端) ### 任务太大的信号: - 需要修改超过 5 个文件 - 预计耗时超过 30 分钟 - 包含多个不相关的功能点 - 难以用一句话描述清楚 ### 任务太小的信号: - 只修改几行代码 - 无法独立测试 - 必须和其他任务一起才有意义 --- ## 🛠️ 使用工具 ### TaskCreate - 创建任务 ``` subject: "创建用户列表页面" description: "创建 /admin/users 路由,实现用户列表展示,包括搜索和分页功能" activeForm: "创建用户列表页面" ``` ### TaskUpdate - 更新任务状态 ``` taskId: "1" status: "in_progress" # 开始工作时 ``` ``` taskId: "1" status: "completed" # 完成后 ``` ### TaskList - 查看任务列表 定期查看任务列表,了解整体进度 --- ## 📊 任务分解模板 ### 模板1:新增功能页面 1. 创建后端路由和数据查询逻辑 2. 创建前端页面模板 3. 添加页面样式和交互 4. 在导航菜单中添加入口 5. 测试功能完整性 ### 模板2:API 接口开发 1. 设计 API 接口规范(URL、参数、返回值) 2. 实现后端路由和业务逻辑 3. 添加参数验证和错误处理 4. 实现前端调用逻辑 5. 测试接口功能 ### 模板3:数据库变更 1. 设计数据库表结构 2. 创建数据库迁移脚本 3. 更新 ORM 模型定义 4. 运行迁移并验证 5. 更新相关业务逻辑 --- ## ⚠️ 注意事项 1. **不要跳过分解步骤** - 即使任务看起来简单,也要先分解 2. **及时调整计划** - 如果发现任务分解不合理,及时调整 3. **记录遇到的问题** - 在任务描述中记录遇到的问题和解决方案 4. **保持沟通** - 遇到不确定的地方,及时向用户确认 --- ## 🎯 预期效果 通过任务分解,可以达到: - ✅ 降低开发风险,减少大规模返工 - ✅ 提高代码质量,每个子任务都经过验证 - ✅ 便于进度跟踪,用户可以看到实时进展 - ✅ 提升开发效率,问题可以及早发现和解决 --- **创建日期**: 2025-02-08 **最后更新**: 2025-02-08 **维护人**: Claude Sonnet 4.5