“在按照我的理解方式审查了软件开发的生命周期后,我得出一个结论,实际上满足工程设计的标准的唯一软件文档,就是源代码清单。”
在我们进行软件开发设计的时候,有的时候为了快速完成任务,不仔细考虑设计,在不断的修改中完成。这导致了很多的臭味道。
软件设计的一些臭味道:
1. 僵化性:设计难以改变,耦合性太高,牵一发而动全身。
2. 脆弱性:设计容易遭到破坏,易导致其他不可知的问题
3. 牢固性:设计很难重用,难以对核心代码进行分离
4. 粘滞性:难做正确的事情
5. 不必要的复杂性:过分设计,过于考虑未来扩展性。
6. 不必要的重复:复制粘贴过多
7. 晦涩性:混乱模糊的表达,没有很好的表现出意图,晦涩难懂。
引起软件臭味道的最主要原因:
不考虑整体性,因为软件需求的不断变化,对代码,不断的增砖添瓦,导致代码结构混乱,出现臭味道。
解决软件臭味的一些原则:
一. 单一职责原则SRP
对一个类而言,应当仅有一个引起它变化的原因。
职责,即变化的原因。对于SRP,每一个类,每一个方法,都应该尽可能的做到SRP。
二. 开放-封闭原则SCP
对扩展开放,对修改关闭。
有时候看似简单的修改,却会对其他相关模块造成影响。尽可能的把频繁改变的行为抽象出来,灵活的进行设计,这样在未来可以不用修改源代码而轻松的进行扩展。增加了系统的灵活性,可重用性,可维护性。
三. 里氏替换原则LSP
子类型必须能替换掉它们的基类型。
四. 依赖导倒置原则DIP
1. 高层模块应该依赖于底层模块,二者都应该依赖于抽象。
2. 抽象不应该依赖于细节,细节应该依赖于抽象。
五. 接口隔离原则ISP
不应该强迫客户依赖于它们不同的方法。
网友评论