软件可维护性差的原因和设计目标
原因1:过于僵硬
很难在软件系统里加入一个新的功能。加入一个新功能,会波及很多其它模块。
目标1:可扩展性
新功能很容易地加入到系统中去。
原因2:过于脆弱
对一个地方的修改,往往会导致看上去没有关系的另一个地方发生障碍。
目标2:灵活性
允许代码修改平稳地发生,而不会波及到其它模块。
原因3:黏性过高
有的时候,一个改动可以以保存原始设计意图和原始框架的方式进行,也可以以破坏原始设计意图和原始框架的方式进行。如果第二种办法比第一种办法容易很多的话,程序员就可能牺牲长期的利益,采取第一种办法。
目标3:可插入性
可以很容易地将一个类抽出去,同时将另一个有同样接口的类加入进来。
原因4:复用率低