如果幸运,你会在项目开始时就有了想得到的系统的清晰图像。系统的设计是存在于你头脑中的一幅至关重要的图像。如果更幸运一点,在首次发布时,设计依然保持清楚。
接着,事情开始变糟。软件像一片坏面包一样开始腐化。随着时间的流失,腐化蔓延、增长。丑陋腐烂的痛处和疖子在代码中积累,使它变得越来越难以维护。最后,即使仅仅进行最简单的更改,也需要花费巨大的努力,以至于开发人员和一线管理人员强烈要求重新设计。
这样的重新设计很少会成功。虽然设计人员开始时的意图是好的,但是他们发现自己正朝一个移动的目标设计。老系统不断地发展、变化,而新的设计必须跟得上这些变化。这样,甚至在第一次发布前,新的设计就积累了很多的下次和弊病。
设计臭味——腐化软件的气味
当软件出现下面任何一种气味时,就表明软件正在腐化。
- 僵化性
- 脆弱性
- 顽固性
- 粘滞性
- 不必要的复杂性
- 不必要的重复
- 晦涩性
关于这几点特征,可以在百度或Google中很容易的找到跟多的信息。
以上文章摘自Bob大叔的《敏捷软件开发》。