跳转到内容

軟體熵:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
沈曾植留言 | 贡献
InternetArchiveBot留言 | 贡献
补救1个来源,并将0个来源标记为失效。) #IABot (v2.0.8.6
第57行: 第57行:
== 參考資料 ==
== 參考資料 ==
{{Reflist}}
{{Reflist}}
* [http://www.webopedia.com/TERM/s/software_entropy.htm Definition of software entropy on Webopedia]
* [http://www.webopedia.com/TERM/s/software_entropy.htm Definition of software entropy on Webopedia] {{Wayback|url=http://www.webopedia.com/TERM/s/software_entropy.htm |date=20100110211452 }}


{{Compsci-stub}}
{{Compsci-stub}}

2022年3月6日 (日) 07:30的版本

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

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

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

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

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

相關條目

參考資料

  1. ^ Jacobson, Ivar; Christerson, Magnus; Jonsson, Patrik; Övergaard, Gunnar, Object-Oriented Software Engineering: A Use Case Driven Approach, ACM Press. Addison-Wesley: 69–70, 1992, ISBN 0-201-54435-0 
  2. ^ Lehman, M.M.; Belady, L.A., Program evolution: processes of software change, Academic Press Professional, Inc., San Diego, CA, 1985 
  3. ^ Hunt, Andrew; Thomas, David, The Pragmatic Programmer, Addison Wesley, 1999, ISBN 0-201-61622-X  - Item 4 (of 22 tips) is Don't Live with Broken Windows.