设计的臭味

僵化性(设计难于改变):

      很难对软件进行改动.换句话说就是即使是一个很小的改动,也会导致有依赖关系的模块中的连锁改动

脆弱性(设计易于遭到破坏):

      在进行一个改动时,可能会导致程序的许多地方出现问题.

顽固性(设计难以重用):

      设计中包含了对其它系统有用的部分,但要把这部分从系统中分离出来其所需要的努力和风险是巨大的.

粘滞性(难以做正确的事):

      软件的粘滞性:当而临一个改动时,开发人员常常发现有多种方法,其中一些方法会保持设计,一些方法会破坏设计(也就是拼凑的方法),当可以保持系统设计的方法比拼凑手法更难应用时,就表明设计具有高的粘滞性.

      硬件的粘滞性:当开发环境迟钝,低效时,就会产生环境的粘滞性.例如:如果编译所花费的时间很长,那么开发人员就会被引诱去做不会导致大规模编译的活动,即使那些改动不再保持设计;如果源代码控制系统需要几个小时去签入仅仅几个文件,那么开发人员就会引诱去做那些需要尽可能少签入的改动,而不管这些改动是否会保持设计.

不必要的复杂性(过分设计):

不必要的重复:

      滥用复制,粘贴.

晦涩性(混乱的表达):

      开发人员应该站在代码阅读者的角度来编写代码.

      

原文地址:https://www.cnblogs.com/xwang/p/1374143.html