軟體熵Software entropy)是指軟體的無序程度。軟體熵可用來說明軟體在經過不斷修改後,無序程度提高的現象。

伊瓦爾·雅各布森用以下的方式描述「軟體熵」: [1]

熱力學第二定律說明在一個封閉系統內的無序程度不會下降,只會上昇或維持定值,其無序程度可以用來表示。此定律似乎也可適用在軟體系統內,在系統經過修改後,其無序程度(或稱為熵)會上昇,這可稱為「軟體熵」。
軟體開發中,有類似的理論。Lehman提出了以下的二個定律[2]
  1. 有用到的電腦程式就會被修改。
  2. 若沒有特別的處理及修正,修改程式會使其複雜度會增加。

Andrew Hunt及David Thomas用破窗理論來說明如何避免在軟體開發過程中軟體熵的增加。[3]

代碼重構可以漸進的降低軟體熵。

相關條目

參考資料

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.