知识卡片
六种管理模型代码分歧的策略
内容
模型和代码总会随各自演化逐渐分道扬镳,团队应对分歧有六种常见策略,从最省力到最费力:忽略分歧(用过期模型,只记住哪里已经不一致,最常见);临时建模(只在需要沟通时现画,多见于敏捷团队);只保留概要模型(细节部分放任漂移,概要图保持更新,用于新人入门和跨团队沟通,实践常见);在里程碑处同步(迭代结束/发布时才更新,但常被无限推迟);在危急关头同步(出问题才疯狂补救,靠反向工程恢复设计,效果有限);定期同步(时刻维护一致,投入巨大,除非高层级模型或有工具支持,否则实践中少见)。选哪种取决于这份模型到底在为你解决什么问题——安全模型如果和代码脱节可能直接失效,但只是列出架构驱动因素的模型,即使有点过时依然有价值。
结构图:
flowchart TD
A[模型代码一致性管理策略] --> B["忽略分歧<br/>最常见,用过期模型"]
A --> C["临时建模<br/>敏捷团队现场画"]
A --> D["只保概要模型<br/>概要更新,细节漂移"]
A --> E["里程碑处同步<br/>常被推迟"]
A --> F["危急关头同步<br/>出问题才补救,效果有限"]
A --> G["定期同步<br/>投入巨大,实践少见"]
A --> H[如何选:看这份模型在为你解决什么问题]
参考来源
- 位置:《恰如其分的软件架构》第10章《代码模型》10.2节《一致性管理》(源文件:_epub-src/OEBPS/text00097.html)
- 结论依据:原文列出六种处理模型-代码分歧的策略(忽略分歧、临时建模、只有概要模型、里程碑处同步、危急关头同步、定期同步),并说明选择依据是模型本身在为项目解决什么问题。
- 原始内容:忽略分歧……临时建模……只有概要模型……在软件开发的里程碑处进行同步……在危急关头进行同步……定期同步……应该关注怎样通过模型,即使是已经过期的模型,来帮助你去构建软件。