| 横向拆分 | 按文件、模块或层分组,每组一个 CL |
|---|---|
| 纵向拆分 | 按依赖顺序:先底层脚手架,再调用方 |
纵向拆分示例(自底向上)
纵向拆分示例(自底向上)
CL1: 数据模型与接口定义(无调用方,可独立合入)
CL2: 服务实现 + 单元测试
CL3: 入口接线 + 集成测试
CL4: 清理旧实现与开关拆分后每个 CL 都应能通过 CI 并保持仓库可用;'合入一半才能编译'的大爆炸式拆分要避免。
大改动拆分的实战切法:横向按文件或模块、纵向按依赖顺序、先重构后功能;每个新 CL 合入后仓库保持可构建可测试。
| 横向拆分 | 按文件、模块或层分组,每组一个 CL |
|---|---|
| 纵向拆分 | 按依赖顺序:先底层脚手架,再调用方 |
CL1: 数据模型与接口定义(无调用方,可独立合入)
CL2: 服务实现 + 单元测试
CL3: 入口接线 + 集成测试
CL4: 清理旧实现与开关