每乙個軟體模組都應具有三個職責:
1.第一職責是它執行起來所完成的功能.這也是該模組得以存在的原因.
2.第二職責是它要應對變化,幾乎所有的模組在它們的生命週期中變化,開發者有責任保證這種改變應該可能的簡單.乙個難以改變的模組是拙劣的,即使可以工作,也需要對其進行修正.
3.第三職責是要和閱讀它的人進行溝通,對該模組不熟悉的開發人員應該能夠比較容易的閱讀並理解它.乙個無法溝通的模組也是拙劣的,同樣要進行修改.
當軟體出現下面任何一種氣味時,說明軟體正在腐化
1.僵化性:很難對系統進行改動,因為每個改動都會迫使許多對系統其他部分的其他改動.
2.脆弱性:對系統的改動會導致系統中和改動的地方在概念上無關的許多地方出現問題.
3.牢固性:很難解開系統的糾結,使之成為一些可在其他系統中重用的元件.
4.粘滯性:做正確的事情比做錯誤的事情更困難.
5.不必要的複雜性:設計中包含有不具有任何直接好處的基礎結構.
6.不必要的重複:設計中包含有重複的結構,而該重複的結構本可以使用單一的抽象進行統一.
7.晦澀性:很難閱讀和理解,沒有很好的表現出意圖.
設計的臭味
1.僵化性 是指難以對軟體進行改動,即便是簡單的改動。如果單一的改動會導致有依賴關係的模組中的連鎖改動,那麼設計就是僵化的。2.脆弱性 是指進行乙個改動時,程式的許多地方可能會出現問題。常常是,出現新問題的地方並沒有概念上的關聯。3.牢固性 是指包含了其他系統有用的部分,但是要把這些部分從系統中分離...
設計的臭味,腐化軟體的氣味
軟體開發的過程中所體現出來的壞味道 1.僵化性 很難對系統進行改動,因為每個改動都會迫使許多對系統其它部分作出改動 2.脆弱性 對系統的改動往往會導致一些在概念上無關的地方出現問題 3.牢固性 很難解開系統的糾結,使之一些功能成為其它系統能夠公用的元件 4.粘滯行 即做正確的事情比做錯誤的事情要困難...
軟體企業測試人員的角色與職責
1 一般的軟體機構,測試人員的職責分配應該如下所示 按oa engineer qa lead qa manager 來劃分。2 但是在國內的中小企業中,測試經理 qa manager 一般充當的是測試組長 qa lead 的角色,所以這個時候來說,技術相對來說就更重要一些,因為很多情況下很多技術方面...