軟件復雜性


 參考文章:

阮一峰:http://www.ruanyifeng.com/blog/2018/09/complexity.html

 

軟件復雜性:

  • 軟件設計的最大目標,就是降低復雜性。 所謂復雜性,就是任何使得軟件難於理解和修改的因素。
  • 復雜性的來源主要有兩個:代碼的含義模糊 和 互相依賴
  1. 模糊指的是,代碼里面的重要信息,看不出來。
  2. 依賴指的是,某個模塊的代碼,不結合其他模塊,就會無法理解。
  • 復雜性的危害在於,它會遞增。你做錯了一個決定,導致后面的代碼都基於前面的錯誤實現,整個軟件變得越來越復雜。"我們先把產品做出來,后面再改進",這根本做不到。

如何降低復雜性:

  • 降低復雜性的基本方法,就是把復雜性隔離。"如果能把復雜性隔離在一個模塊,不與其他模塊互動,就達到了消除復雜性的目的。"
  • 改變軟件設計的時候,修改的代碼越少,軟件的復雜性越低。
  • 復雜性盡量封裝在模塊里面,不要暴露出來。如果多個模塊耦合,那就把這些模塊合並成一個。

接口和實現:

  • 模塊分成接口和實現。接口要簡單,實現可以復雜
  • 好的設計是,大量的功能隱藏在簡單接口之下,對用戶不可見,用戶感覺不到這是一個復雜的 class。

對用戶減少拋錯:

  • 除了那些必須告訴用戶的錯誤,其他錯誤盡量在軟件內部處理掉,不要拋出。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM