学习使用 Claude Code 的任务范围方法,将混乱的功能需求转化为清晰的验收标准、最小化的 UI/API 计划和若干小提交。

GET /items/{id} 返回渲染页面所需的状态\n- POST /items/{id}/update 仅接受用户可修改的字段并返回更新后的状态\n\n把输入输出写成简单对象,而不是段落。注明必需字段与可选字段,以及常见错误的处理(未找到、校验失败)。\n\n在动数据库之前快速做一次鉴权检查。决定谁能读谁能写,并用一句话说明规则(例如:“任意已登录用户可读,只有管理员可写”)。跳过这一步通常会导致返工。\n\n最后,决定哪些必须存储,哪些可以计算。一个简单规则:存事实,计算视图。\n\n## 使用 Claude Code 产出范围化任务\n\nClaude Code 在你给出清晰目标和紧箱子时表现最佳。先粘贴凌乱的请求和任何约束(截止日期、受影响用户、数据规则)。然后请求一个包含以下内容的范围化输出:\n\n1. 用通俗语言重述范围并给出简短的验收清单。\n2. 一系列小提交(目标为 3 到 7 个),每个提交都有明确结果。\n3. 每个提交可能触及的文件或文件夹,以及这些文件内会做什么改动。\n4. 每个提交的简短测试计划(一个正常路径和一个边缘情况)。\n5. 明确的不在范围内项。\n\n在它回复后像评审一样阅读。如果看到诸如“提升性能”或“更干净”之类的模糊措辞,要求把它们改为可衡量的描述。\n\n### 小示例(什么是“好”的样子)\n\n请求:“添加暂停订阅的方式。”\n\n一个范围化版本可能写成:“用户可以暂停 1 到 3 个月;下次计费日期随之更新;管理员可以看到暂停状态。”不在范围内:“不改变按比例计费”。\n\n从这里开始,提交计划变得可执行:一个提交负责 DB 与 API 结构,一个提交负责 UI 控件,一个提交负责校验与错误状态,一个提交负责端到端测试。\n\n## 把工作拆成小且易评审的提交\n\n大变动掩盖 bug。小提交让评审更快、回滚更安全,并帮助你在偏离验收标准时更早察觉。\n\n一个有用的规则:每个提交应解锁一个新行为,并包含一个快速验证其有效性的方式。\n\n一个常见的顺序如下:\n\n- 数据模型或迁移(如需)及测试\n- API 行为与校验\n- UI 联动,含空与错误状态\n- 只有在必需时再加日志或分析,并做小范围的美化\n\n保持每个提交聚焦。避免“顺手做”的重构。保持应用端到端可运行,即使 UI 很基础。除非有充分理由,不要把迁移、行为和 UI 捆绑到一个提交里。\n\n## 演练:“导出报表”\n\n某位干系人说:“我们能加个导出报表吗?”这背后有很多选择:哪个报表、哪种格式、谁可导出、如何交付。\n\n只问会改变设计的问题:\n\n- v1 包含哪些报表类型?\n- v1 要哪种格式(CSV、PDF)?\n- 谁可以导出(管理员、特定角色)?\n- 是直接下载还是邮件发送?\n- 有无限制(最大日期范围、行数上限、超时)?\n\n假设答案是:“销售汇总报表、仅 CSV、经理角色、直接下载、最长 90 天”。现在 v1 的验收标准就具体了:经理在销售汇总页点击导出;CSV 与页面表格列一致;导出遵循当前筛选;超出 90 天显示清晰错误;对于最多 5 万 行,下载在 30 秒内完成。\n\n最小化 UI 计划:在表格操作旁增加一个导出按钮,生成时显示加载状态,出错时提示用户如何修复(如“请选择 90 天或更短时间范围”)。\n\n最小化 API 计划:一个端点接收筛选并返回生成的 CSV 文件响应,重用表格查询并在服务端强制执行 90 天规则。\n\n然后用几个紧凑的提交交付:先实现固定的正常路径端点,再接 UI 联动,然后加校验与用户错误提示,最后加测试与文档。\n\n## 常见的范围化错误(以及如何避免)\n\n### 隐含需求溜进来\n\n“添加团队角色”类请求常藏着邀请、编辑和已存在用户如何处理的规则。如果你发现自己在猜,就把假设写下来并把它变成问题或明确规则。\n\n### UI 美化混进核心行为\n\n当一个任务同时包含“让它工作”和“让它好看”时,团队会损失几天。把首轮任务聚焦在行为与数据上。把样式、动画和间距留到后续任务,除非它们是使用功能所必须的。\n\n### 你试图在 v1 解决所有边缘情况\n\n边缘情况重要,但并非所有都要在初版解决。处理那些会破坏信任的(重复提交、冲突编辑),把其余清楚标注为后续任务。\n\n### 错误状态与权限被推到“以后”\n\n如果你不把它们写下来,就会漏掉。至少在验收标准中包含一条不良路径和一条权限规则。\n\n### 无法验证的准则\n\n避免使用“更快”或“更直观”这样的描述,除非你给出数字或具体检查项。用能在评审中证明的内容替代它们。\n\n## 开始编码前的快速清单\n\n把任务钉牢,让队友能在不读心的情况下评审和测试:\n\n- 结果与非目标:一句话描述结果,外加 1–3 个明确的非目标。\n- 验收标准:5–10 条可测试检查,以通俗语言表述。\n- UI 状态:最小的加载、空、错误、成功状态。\n- API 与数据注记:最小端点形态与任何数据变更,以及谁可读/写。\n- 提交计划与测试:3–7 个提交,每个带快速验证。\n\n示例:“添加已保存搜索”变成“用户可以保存筛选并在以后重新应用”,非目标如“不共享、不改排序”。\n\n## 下一步:构建时保持范围稳定\n\n一旦你有了范围化的任务,就去保护它。开始编码前,与提出者快速复核:\n\n- 朗读验收标准并确认与期望一致。\n- 确认权限、空状态和失败行为。\n- 再次确认不在范围内的项。\n- 就满足准则的最小 UI 与 API 改动达成一致。\n- 决定如何演示以及什么算“完成”。\n\n然后把准则存放在工作发生的地方:工单、PR 描述,以及团队常看的任何地方。\n\n如果你在 Koder.ai (koder.ai) 上构建,把计划先锁定再从计划生成代码会有帮助。Planning Mode 很适合这种工作流,快照和回滚在你需要尝试某种方法并回退时能保护实验安全。\n\n当在构建过程中冒出新想法时,保持范围稳定:把它们写到后续清单里,如果它们改变了验收标准就暂停并重新范围化,确保每次提交都对应一条验收准则。先把结果用一句话写出来(完成后用户能做什么),然后补上 3–7 条可被测试人员验证的验收标准。\n\n如果你无法在不争论细节的情况下描述“正确”的行为,那么这个任务仍然太模糊。
使用这个快速格式:\n\n- 作为 [用户]\n- 我想要 [动作]\n- 以便 [目标]\n\n然后再加一个具体的示例说明预期行为。如果无法给出示例,回放上一次问题出现时用户在哪个界面、点了什么、期望看到什么。
先写一短列 “完成定义”(必须通过的检查),然后单独列出 “可选项”。\n\n默认规则:如果不是证明功能端到端可用所必须的,就放到可选项里。
问那些会改变范围的少数问题:\n\n- 谁有权使用(层级和角色)?\n- 截止日期是什么,最小可接受版本是怎样?\n- 一个期望行为的示例?\n- 空状态、错误和慢连接时应该如何响应?\n- 我们如何确认它有效(具体的标准或指标)?\n\n这些问题能把缺失的决策公开化。
把边缘情况当作范围项,而不是意外。v1 覆盖那些会破坏信任的情况:\n\n- 空状态\n- 校验错误\n- 权限被拒绝\n- 网络/API 失败\n- 可撤销或回滚(如果相关)\n\n其他可以明确记为不在范围内并推迟处理。
使用 可测试的陈述,任何人都能执行而不用猜测:\n\n- 给定 一个初始状态\n- 当 用户做 X\n- 那么 Y 应该发生\n\n至少包含一条失败路径和一条权限规则。如果某条准则无法被测试,就继续改写直到可测。
点名要改动的具体界面和每个界面在 10 秒内用户会注意到的变化。\n\n另外列出必要的 UI 状态:\n\n- 加载\n- 空状态\n- 错误(是否可重试)\n- 成功(提示、内联消息或列表更新)\n\n把文案(按钮文案、错误信息)也纳入范围,即使是占位文本也要标注谁来确认。
把契约做小:通常 v1 一次读(read)和一次写(write)就够了。\n\n定义:\n\n- 输入/输出为简单对象(必需 vs 可选字段)\n- 常见错误(未找到、校验失败)\n- 一句说明的鉴权规则(谁能读/写)\n\n优先存事实,视图类内容尽量计算得出。
要求一个有边界的交付物:\n\n- 重述范围 + 验收检查清单\n- 3–7 个提交,每个解锁一个行为\n- 每个提交可能影响的文件\n- 简短测试计划(正常路径 + 一个边缘情况)\n\n然后把“让它更干净”之类的模糊措辞重新要求成可度量的表述。
默认顺序:\n\n- 数据/模型变更(如需)+ 测试\n- API 行为 + 校验\n- UI 联动,包含空/错误状态\n- 最后一轮精化(仅在必要时)\n\n经验法则:一个提交 = 一个新的用户可见行为 + 一个快速证明可行的方法。避免把“正好顺手做”式的重构混进功能提交。