知识卡片

误判变化量级是最危险的架构假设

普通读书笔记卡 · 2094

内容

系统未来的变化有量级之分:有的只需修修补补、调外部接口,有的却需要持续大幅度演进,甚至每隔几年就得重写核心部分。最危险的情况不是任何量级本身,而是设计时按”只会小修小补”假设搭架构,实际却遇到需要持续大幅演进的场景——补救成本极高,系统极难修改,最后唯一现实的选择常是推倒重写。发散:架构决策前先想清楚系统未来大概率属于哪种变化量级,而非默认按当下需求规模设计。

参考来源

- 位置:第28章《演进视角》28.2.2节「变化的量级」(源文件:_epub-src/OEBPS/text00488.html附近) - 结论依据:原文明确区分只需缺陷修正的小变更和需要持续大幅演进甚至定期重写的系统,并指出最难处理的问题是按前者假设设计却遇到后者,此时补救成本极高、完全重写可能是唯一选择,直接支持卡片结论。 - 原始内容:"对于某些系统,潜在的变更仅限于缺陷的改正和很小的优化调整……相对另一个极端,某些广泛使用、长期存在的系统会进行持续的演进……并且每隔年中就会做有效的重写。当你期望在开发和部署过程中只出现前者,而实际上出现的是后者时,就会出现最难以处理的问题。这样的情况可能补救成本很高,系统可能难于改变,而完全重新开发将是你唯一切合实际的演进选择。"