软件的熵增现象

软件熵增定律描述了软件从有序到无序的演变过程,导致代码混乱、复用性低、扩展困难等问题。系统复杂性的主要来源是依赖性和模糊性,它们随着时间逐渐积累。降低复杂性的策略包括:日常开发中留出战略规划时间,注重模块设计,编写清晰的注释,以及选择恰当的命名。战略编程和模块设计的原则是尽量减少对外部的影响,提高可维护性和扩展性。
摘要由CSDN通过智能技术生成

一、熵增定律

熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度。热力学第二定律,又称“熵增定律”,表明了在自然过程中,一个孤立的系统总是从最初的集中、有序的排列状态,趋向于分散、混乱和无序;当熵达到最大时,系统就会处于一种静寂状态。

通俗的讲:系统的熵增过程,就是由原始到死亡的过程。“熵”是“活跃”的反义词,代表负能量。

非生命,比如物质总是向着熵增演化,屋子不收拾会变乱,手机会越来越卡,耳机线会凌乱,热水会慢慢变凉,太阳会不断燃烧衰变……直到宇宙的尽头——热寂。

在软件开发、维护过程中。软件的生命力总是从最初的理想状态,逐步趋向于复杂、混乱和无序状态发展,直到软件不可维护而被迫下线或重构。这种损坏软件质量的因素的逐步增长,叫做软件的熵增现象。

 

二、系统复杂性

表象

  • 代码混乱、新人不易上手
  • 代码高度冗余,复用性低,开发效率低
  • 扩展和修改困难,牵一发动全身
  • 业务数据错乱
  • 程序性能低下
  • 系统难以移置
  • BUG率居高不下

深层原因

  • 变更放大
  • 认知负荷
  • 未知的未知

三、复杂性的原因

复杂性是由两件事引起的:依赖性和模糊性。

1、依赖关系

依赖关系是软件的基本组成部分,不能完全消除。实际上,我们在软件设计过程中有意引入了依赖性

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值