我们给组件 API 加了版本号,结果三年没出过 breaking change
组件库通过给每个 prop 标注语义化版本号,在类型层面实现了细粒度的契约管理。这套机制让 API 变更变得可见、可讨论,三年间在 200 多个组件的迭代中实现了零 breaking change,仅需付出少量类型定义和维护成本。
共 2 篇文章
组件库通过给每个 prop 标注语义化版本号,在类型层面实现了细粒度的契约管理。这套机制让 API 变更变得可见、可讨论,三年间在 200 多个组件的迭代中实现了零 breaking change,仅需付出少量类型定义和维护成本。
协同编辑的核心不是 OT 或 CRDT 算法,而是带版本向量的键值增量映射表。版本向量通过客户端 ID 到逻辑时钟的映射建立因果顺序,避免时间戳陷阱。增量映射表将操作抽象为属性路径到新值的映射,实现逐属性细粒度合并,性能比全量快照提升数十倍。冲突处理采用惰性求值,仅在读取时触发冲突解决器,避免性能瓶颈。该方案利用中心化服务端排序简化数据结构,相比 CRDT 大幅降低元数据开销和实现复杂度。