想要評估一份程式碼是不是好的設計,不會是比較資深的工程師說了就算數

其中一個方法就是從內聚跟耦合的程度來評估

Cohesion (內聚)

一個模組內的不同功能的相關程度

例如,當處理某個任務的程式跟資料都在同一個模組內,表示這個模組有很高的內聚力

Coupling (耦合)

不同模組之間的關連或依賴程度

例如,當兩個模組都使用到同一個全域變數時,這兩個模組就彼此耦合

好的設計?

那麼,好的軟體設計? 好維護的程式?

High Cohesion, Low Coupling (高內聚,低耦合)

好處

  • 模組「專注」在同一件事情上,提高模組被「重複使用」的機會
  • 增加程式的「可讀性」,程式更容易被閱讀被理解
  • 不用怕修改程式時會引發「漣漪效應」,甚至是「蝴蝶效應」

Reference