1.僵化性
是指難以對軟體進行改動,即便是簡單的改動。如果單一的改動會導致有依賴關係的模組中的連鎖改動,那麼設計就是僵化的。
2.脆弱性
是指進行乙個改動時,程式的許多地方可能會出現問題。常常是,出現新問題的地方並沒有概念上的關聯。
3.牢固性
是指包含了其他系統有用的部分,但是要把這些部分從系統中分離出來所需要的努力和風險是巨大的。
4.粘滯性
有兩種表現形式:軟體的粘滯性和環境的粘滯性。
當面臨改動時,開發人員常常發現會有多種改動的方法。其中,一些方法會保持設計;而另外一些會破壞設計。當那些可以保持系統設計的方法比那些生硬手法更難應用時,就表明設計具有高的粘滯性。
開發環境遲鈍,低效時,就會產生環境的粘滯性。
5.不必要的複雜性
設計中包含有當前沒有用的組成部分,它就含有不必要的複雜性。
6.不必要的重複
剪貼和黏貼也許是有用的文字編輯操作,但他們卻是災難性的**編輯操作。
7.晦澀性
是指模組難以理解。**可以用清晰,富有表現力的方式編寫,或者可以用晦澀,費解的方式編寫。
設計的臭味,腐化軟體的氣味
軟體開發的過程中所體現出來的壞味道 1.僵化性 很難對系統進行改動,因為每個改動都會迫使許多對系統其它部分作出改動 2.脆弱性 對系統的改動往往會導致一些在概念上無關的地方出現問題 3.牢固性 很難解開系統的糾結,使之一些功能成為其它系統能夠公用的元件 4.粘滯行 即做正確的事情比做錯誤的事情要困難...
軟體模組的職責與設計的臭味
每乙個軟體模組都應具有三個職責 1.第一職責是它執行起來所完成的功能.這也是該模組得以存在的原因.2.第二職責是它要應對變化,幾乎所有的模組在它們的生命週期中變化,開發者有責任保證這種改變應該可能的簡單.乙個難以改變的模組是拙劣的,即使可以工作,也需要對其進行修正.3.第三職責是要和閱讀它的人進行溝...
電商SEO戰略 極力掩蓋銅臭味
從盈利模式來說,是乙個廣告公司,但是從它的功能來看,它又是對廣告恨之入骨的。它是乙個搜 索引擎,人們使用它,是因為可以從中得到自己想要的答案,它本質上是乙個內容平台,如果它整理出 來的內容質量不能讓人滿意,充斥著廣告,人們就會放棄使用它。目前,還是一家獨大的局面,目前中國的每乙個網際網路領域幾乎都存...