7.1 软件出了什么错
在软件开发过程中,我们经常发现代码越来越难以维护。需求变化时,很难去修改代码,修改后很容易引起意想不到的bug。在开发初期,程序员尚能清楚地掌握代码,能轻松的进行维护。随着项目地进行,设计越来越复杂,代码越来越混乱,程序员自己也不清楚修改某处代码,是否会引起别的问题。
7.2 设计的臭味——腐化软件的气味
出现下面任何一种现象,都说明软件正在腐化。
- 僵化性:难以修改代码。每个改动会引起其它改动,牵一发而动全身。
- 脆弱性:对系统的改动,会引起一个在概念上看起来无关的bug。
- 牢固性:各部分代码纠结在一起,很难把一部分代码分离出来进行复用。
在OOD中,经常会提到“高内聚、低耦合”。僵化性、脆弱性、牢固性的出现,说明系统违背了“高内聚、低耦合”的设计原则。
- 粘滞性:对系统进行改动时,很难维持原来的设计。
- 不必要的复杂性