软件熵(Software entropy)是指软件的无序程度。软件熵可用来说明软件在经过不断修改后,无序程度提高的现象。
简介软件熵(Software entropy)是指软件的无序程度。软件熵可用来说明软件在经过不断修改后,无序程度提高的现象。
伊瓦尔·雅各布森用以下的方式描述“软件熵”:
热力学第二定律说明在一个封闭系统内的无序程度不会下降,只会上升或维持定值,其无序程度可以用熵来表示。此定律似乎也可适用在软件系统内,在系统经过修改后,其无序程度(或称为熵)会上升,这可称为“软件熵”。
在软件开发中,有类似的理论。Lehman提出了以下的二个定律:
有用到的计算机程序就会被修改
若没有特别的处理及修正,修改程式会使其复杂度会增加。
Andrew Hunt及David Thomas用破窗理论来说明如何避免在软件开发过程中软件熵的增加。代码重构可以渐进的降低软件熵。1
代码重构代码重构(英语:Code refactoring)指对软件代码做任何更动以增加可读性或者简化结构而不影响输出结果。
软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。1
相关条目软件脆弱性
软件凋零
本词条内容贡献者为:
李嘉骞 - 博士 - 同济大学