美文网首页
软件的退化

软件的退化

作者: 视野跳动 | 来源:发表于2023-11-01 19:21 被阅读0次

日期:2023.11.02,Thur

软件开发过程中,软件设计质量最好的时候是第一版,当第一个版本上线以后就开始各种需求变更。很多人可能会说系统应该做好架构设计,设计的灵活性上要有很好的扩展,很显然这是很难做到的,因为现实中的需求是不确定的,我们仅仅能预设部分扩展和模式,如果设计的过多其实很容易造成“过度设计”,现实中你的很多设计可能根本就用不到,反而会造成系统的臃肿。所有设计大部分内容肯定是基于现有的业务和功能设计的。
现在问题来了,那经过十次,二十次,三十次的变更以后,怎样防止软件的退化呢。在软件领域有一种非常厉害的开发方法,或者说是一种思想,DDD,领域驱动设计(Domain-Driven Design)。这也是帮助我们做好微服务拆分非常重要和可行的一种方法。
所以要想保持软件不退化,那就必须在每次需求变更的时候,对原有的程序结构适当地进行调整,而不是不对的在一个方法或者代码中,不断添加 if else,最终弄的不可维护。人称 shi 山代码。
这里有两个方法,做好可以大大的避免代码持续恶化。

  • 在不添加新功能的前提下,重构代码,调整原有程序结构,以适应新功能;
  • 实现新的功能。

简而言之,保持软件设计不退化的关键在于每次需求变更的设计,只有保证每次需求变更时做出正确的设计,才能保证软件以一种良性循环的方式不断维护下去。
在调整的过程中,需要注意一些基本的设计原则
比如开放-封闭原则(OCP) 分为开放原则与封闭原则两部分。

  • 开放原则:我们开发的软件系统,对于功能扩展是开放的(Open for Extension),即当系统需求发生变更时,可以对软件功能进行扩展,使其满足用户新的需求。
  • 封闭原则:对软件代码的修改应当是封闭的(Close for Modification),即在修改软件的同时,不要影响到系统原有的功能,所以应当在不修改原有代码的基础上实现新的功能。也就是说,在增加新功能的时候,新代码与老代码应当隔离,不能在同一个类、同一个方法中。

单一职责原则等等,都是一些比较好的思想,值得我们在开发过程中,好好体会理解。

相关文章

  • 退化

    时代滚滚进,人类反退化, 美食依赖人,手工全不会。

  • 退化

    这个城市的动物对森林持续惶恐森林时区不以树木划分以灯的红和绿。划分以摩天大楼的高划分以斑马线的脚步数量划分 它们小...

  • 退化

    用很长的时间去经历去思考为寻求一份能满足自己的答案,我明明已经很清晰。可是为了什么我要倒退着走路?这样盲目与退步。...

  • 退化

    心里想着一些事,便睡不着了,年轻的自己应该不会这样。下了简书,希望在别人不知道的情况下拥有这样一个私密的空间,都是...

  • 退化

    尾巴夹得久了 狼就变成了狗

  • 退化

    虽然不曾懒惰可还是感到了明显的退化,或许是这个世界进程太快,或许是别人步伐太大,或许是我偏离了进化的方向……退化的...

  • 退化

    移动通信工具九十年代初从国土兴起,一对一、点对点两地通话通信沟通少了。 智能手机交流工具,微信、微博、QQ交流平台...

  • 退化

    最近发生了一些事,让我感触颇多。让我陷入沉思,到底什么是人性。曾经的淳朴人性都去了那里,在过去的年代里。人...

  • 退化

    起初 爱你 是饮烈酒 只一杯 便陷入无数个轮回 醉了又醉 后来 我们 千言万语哽在喉 未等开口 先琐紧了眉头 如今...

  • 退化

    黑白早已在心中失了敬畏 不说话, 不能保证你活清了一盆水 世事噪杂 诗全留给自己 剩余的,任由着在人声中退化 一个...

网友评论

      本文标题:软件的退化

      本文链接:https://www.haomeiwen.com/subject/yndgidtx.html