程序员修炼之道 pdf_程序员修炼之道--软件熵

给大家推荐一本书《程序员修炼之道--从小工到专家》,对书中提到的软件熵、破窗户理论感触还是比较深的,本文给大家分享下软件熵、破窗户理论是什么?

软件熵

4062064e533b5986ed19dcb4ab4e8a06.png

熵,热力学中表征物质状态的参量之一,其物理意义是体系混乱程度的度量。

1948年,香农Claude E. Shannon引入信息(熵),将其定义为离散随机事件的出现概率。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以说,信息熵可以被认为是系统有序化程度的一个度量。机器学习中的决策树也有使用到信息熵。

熵就是指事物的混乱程度,对任何事物都是同理的,如果没有外力的作用,都会变的混乱,熵越来越大。比如,如果房间无人打扫,不可能越来越干净(有序化),只可能越来越乱(无序化)。

软件系统同样遵循该规则,系统随着需求的增多,会变的越来越复杂越混乱,软件熵就会增大,而我们进行系统重构,架构设计就是降低软件的熵,解决软件系统的复杂度。这里也验证了架构设计就是为了解决系统复杂度的,如果一个系统很简单,那么不用架构设计也可以做好。

破窗户理论

488aab490ef3cccb290a8a421bf55395.png

这个理论最初来源是一个实验:一辆废弃的车放了一个星期,无人理睬。而一旦有一扇窗户被打破,数小时之内车上的设备就被抢夺一空,车也会破坏的越来越严重。生活中也有这样的现象:一个好的地方如果有人扔了垃圾,大家就都会向那里扔垃圾,慢慢就会越来越脏,没人愿意来了。

软件也是这样的,本来对自己要求还是很高的,看到系统中有“破窗户”(低劣的设计、糟糕的代码)的代码,自己也会跟着那样写,这样的“破窗户”代码就会越来越多,最终导致整个系统无法维护。现实中往往一些优良设计的系统,如果出现了一次“破窗户”,不进行修复。那么整个系统就会迅速的恶化。

总结

所以,我们应该有软件熵的意识,做好架构设计降低软件熵,同时不要容忍破窗户,遇到破窗户的时候,要进行修复,防止越来越破。就算没有足够的时间进行修理,也要把有问题的代码注释起来,让大家知道,等到有时间的时候进行修复,一定要进行修复,不然长期以往,系统就会变得难以维护。

希望对大家有所帮助,有帮助记得点赞哦!可以关注下,后面持续分享技术文章,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值