簡介
軟體熵(
Software entropy)是指
軟體的無序程度。軟體熵可用來說明軟體在經過不斷修改後,無序程度提高的現象。
伊瓦爾·雅各布森用以下的方式描述“軟體熵”:
熱力學第二定律說明在一個
封閉系統內的無序程度不會下降,只會上升或維持定值,其無序程度可以用
熵來表示。此定律似乎也可適用在
軟體系統內,在系統經過修改後,其無序程度(或稱為熵)會上升,這可稱為“軟體熵”。
在
軟體開發中,有類似的理論。Lehman提出了以下的二個定律:
若沒有特別的處理及修正,修改程式會使其
複雜度會增加。
Andrew Hunt及David Thomas用
破窗理論來說明如何避免在軟體開發過程中軟體熵的增加。
代碼重構可以漸進的降低軟體熵。
代碼重構
代碼重構(英語:Code refactoring)指對
軟體代碼做任何更動以增加可讀性或者簡化結構而不影響輸出結果。
軟體重構需要藉助工具完成,重構工具能夠修改代碼同時修改所有引用該代碼的地方。在
極限編程的方法學中,重構需要
單元測試來支持。
相關條目