設計的臭味,腐化軟體的氣味

2021-06-03 01:51:16 字數 907 閱讀 4807

軟體開發的過程中所體現出來的壞味道:

1.僵化性

很難對系統進行改動,因為每個改動都會迫使許多對系統其它部分作出改動;

2.脆弱性:

對系統的改動往往會導致一些在概念上無關的地方出現問題;

3.牢固性:

很難解開系統的糾結,使之一些功能成為其它系統能夠公用的元件;

4.粘滯行:

即做正確的事情比做錯誤的事情要困難很多,系統對環境和某些不可預料的事情太過於依賴;

5.不必要的複雜性:

設計中包含不具任何直接好處的基礎架構,換句話來說就是有設計過度的嫌疑,考慮的變化太多,導致系統過於複雜,影響了當前功能的實現;

6.不必要的重複性:

設計中有重複的結構,而該重複的結構本來可使用單一抽象的介面進行統一;

7.晦澀性:

這個壞味道應該很好懂,即**很難閱讀,理解,沒有很好的表現出意圖;

總結:以上的壞味道可能在軟體開發的初期,並沒有察覺,但是隨著需求的變更而我們軟體的設計並沒有做出相應的變化,而是一直在抱怨需求怎麼老變,或者是需求和我們原來的設計不符,打破了我們原來的設計,應該讓我們左右為難了,其實歸根結底就是我們設計的問題,我們應該尋找更好的方法來擁抱變化,現在比較流行的就是大家一直在提的「敏捷開發",但是關於敏捷的過多問題在此就不贅述了,僅僅說一下敏捷開發人員的解決問題之道:

(1).遵循敏捷實際去發現問題;

(2).應用設計原則去診斷問題;

(3).應用設計模式去解決問題;

設計的臭味

1.僵化性 是指難以對軟體進行改動,即便是簡單的改動。如果單一的改動會導致有依賴關係的模組中的連鎖改動,那麼設計就是僵化的。2.脆弱性 是指進行乙個改動時,程式的許多地方可能會出現問題。常常是,出現新問題的地方並沒有概念上的關聯。3.牢固性 是指包含了其他系統有用的部分,但是要把這些部分從系統中分離...

軟體模組的職責與設計的臭味

每乙個軟體模組都應具有三個職責 1.第一職責是它執行起來所完成的功能.這也是該模組得以存在的原因.2.第二職責是它要應對變化,幾乎所有的模組在它們的生命週期中變化,開發者有責任保證這種改變應該可能的簡單.乙個難以改變的模組是拙劣的,即使可以工作,也需要對其進行修正.3.第三職責是要和閱讀它的人進行溝...

物件導向軟體設計原則(二) 軟體設計的腐化

我們如何知道軟體設計的優劣呢?以下是一些拙劣設計的症狀,當軟體出現下面任何一種氣味時,就表明軟體正在腐化。僵化性 僵化是指難以對軟體進行改動,即使是簡單的改動。如果單一的改動會導致有依賴關係的模組中的連鎖改動,那麼設計就是僵化的。必須要改動的模組越多,設計就越僵化。大部分開發人員都遇到這樣的情況 他...