incremental-implementation

以增量方式交付变更。当你要实现任何会影响多个文件的功能或改动时使用它。也适用于你即将一次性编写大量代码,或当某项任务太大、无法一步落地时。

安装

热度:17

下载并解压到你的 skills 目录

复制命令,发送给智能体自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=addyosmani-skills-incremental-implementation&locale=zh&source=copy

Incremental Implementation - 增量实现

技能概述


Incremental Implementation(增量实现)是一种软件开发实践,通过构建垂直薄切片来渐进式地交付功能变更,每个切片都保持系统在可工作、可测试的状态。

适用场景

1. 多文件功能开发


当实现涉及多个文件的功能变更时,使用增量实现可以避免一次性修改过多文件导致的难以调试问题。通过垂直切片,每次完成一个完整的端到端功能路径,从数据库到 API 再到 UI,确保每一步都能正常工作。

2. 大型代码重构


面对需要大量代码编写的任务或感觉一次性完成过于庞大的功能时,增量实现提供了结构化的方法。将大型重构拆解为多个独立的小增量,每个增量都经过测试和验证,降低风险并提高代码质量。

3. 团队协作开发


在多人协作的项目中,增量实现的提交粒度和清晰的阶段划分特别有价值。每个增量都是独立的、可回滚的变更,便于代码审查、持续集成和问题定位,同时减少合并冲突。

核心功能

1. 增量周期管理


提供标准化的"实现 → 测试 → 验证 → 提交"工作流程,确保每个增量都经过完整的质量检查。每次实现后运行测试套件,验证功能是否符合预期,然后保存进度并移动到下一个切片,形成可持续的开发节奏。

2. 垂直切片策略


指导如何构建完整的垂直切片,优先建立端到端的功能路径。支持契约优先切片用于前后端并行开发,以及风险优先切片用于处理最不确定的部分。每种策略都确保每个切片交付可工作的完整功能。

3. 实现规则框架


强制执行简洁性优先、范围纪律、单一职责等核心原则。防止过早抽象、范围蔓延、未测试的代码累积等常见陷阱。通过功能标志、安全默认值、可回滚设计等模式,确保增量的安全性和可维护性。

常见问题

什么是增量实现?它和一次性开发有什么区别?

增量实现是将大型功能拆分为多个小的、可工作的切片,每个切片都经过测试和验证后再进行下一步。与一次性开发相比,增量实现的每个阶段都保持系统在可工作状态, bugs 更容易被定位和修复,而且可以随时暂停或回滚。一次性开发往往在最后才测试,导致问题难以定位,风险集中在项目末期。

如何正确地进行代码增量切片?

正确的方法是采用垂直切片,构建完整的端到端功能路径。例如第一个切片实现"创建任务"功能(数据库 + API + 基础 UI),确保用户可以通过 UI 创建任务;第二个切片实现"任务列表"(查询 + API + UI)。每个切片都是可独立工作的功能,而不是按技术层切片(如先完成所有数据库,再完成所有 API)。垂直切片让每个增量都有用户价值,便于测试和验证。

什么时候应该使用功能标志?

当功能尚未完成但需要合并增量到主分支时,应该使用功能标志。这允许团队持续集成小增量,而不向用户暴露未完成的工作。功能标志应该默认为关闭状态(opt-in),只有功能完全就绪后才默认开启。这种方式特别适用于跨分支的长功能开发,可以避免长期分支存在的合并风险。