用途:增量实现是一种执行纪律,用于把较大的功能或改动拆成多个小步,每步完成后系统仍处于可运行、可测试状态,避免一次性写完整个功能。适用场景包括涉及多个文件的改动、按任务拆解构建新功能、重构既有代码,以及你准备在测试前写超过约100行代码时。单文件、单函数的极小改动不适用。
核心循环:实现最小完整功能片段,运行测试(无测试则补写),验证(测试通过、构建成功或人工确认),用描述性信息提交,然后进入下一片,而非推倒重来。
切片策略:垂直切片(每片打通数据库、API、界面的一条完整路径,如创建、列表、编辑、删除各成一片);契约优先(先定义接口契约,前后端并行开发再用模拟数据对齐,最后集成端到端测试);风险优先(先做最不确定或风险最高的部分,失败可在早期暴露)。
实现规则:先问“最简单的可行方案是什么”,优先朴素且显然正确的实现,避免过早抽象;只改任务需要的范围,不顺手清理、重构或现代化无关文件,发现的问题应记录为待办而非当场修改;每个增量只做一件逻辑上的事,不混合多种关注点;保持可编译,已有测试必须通过;未完成功能用特性开关(如 FEATURE_TASK_SHARING)控制可见性;新代码默认采用保守、安全的默认值;改动应便于回滚,数据库迁移要配套回滚脚本。
与智能体协作:明确告知本次增量的范围与非范围,例如只做数据库结构和 API 端点,暂不碰界面;实现后运行 npm test 和 npm run build 验证。
验证清单:改动完整且只做一件事;npm test 通过;npm run build 成功;npx tsc --noEmit 通过;npm run lint 通过;新功能符合预期;提交信息清晰。命令只应在可能受影响的改动后运行,代码未再变化时不必重复执行。
常见风险:未跑测试就写超过100行;单个增量混杂无关改动;范围蔓延;跳过验证;增量之间构建或测试破损;大量未提交改动堆积;在第三个用例出现前就造抽象。
限制:该技能自述材料中引用的 references/definition-of-done.md 为其外部前置文件,目录副本未内置,需从声明上游来源获取并核验许可与执行前提;在所需文件存在前不应运行相关命令或声称已遵循该流程。使用前还应结合实际项目上下文验证命令、生成代码、依赖、凭据与外部服务行为,示例不能替代环境专属测试、安全审查或对破坏性、高成本操作的用户授权。