易道云出品
汽车在连续运转十年或行驶里程数超过几万之后,就会出现一些问题。毕竟,每个机械部件都有一定的耐用限制。
但这是否意味着这样的车辆必须报废?完全不会。
你需要的是一位经验丰富的机械师,更换最脆弱的部件,比如同步带或刹车片,之后车辆再行驶几万公里都不是问题。
软件开发在这方面也很类似。遗留软件就像一辆二手车,可能有一些问题,需要一些重构,但一般仍然能正常工作。你需要的是一位优秀的“机械师”来维护,并修复所有最脆弱的部分。
遗留软件的定义:
从技术的角度来看,我们可以认为遗留软件是一种正在生产中运行的软件架构,但有些部分没有持续更新或支持。我们可以将遗留系统分为三大类:
1.具有不受支持的功能或新驱动程序不兼容的旧系统;
2.不符合软件开发最新标准的软件;
3.无法接收安全补丁的软件系统。
Stratoflow 首席技术官 Arkadiusz Drysch 如此定义遗留系统:
“基本上任何部署到生产的系统都可以被视为遗留系统,因为这些系统需要不断维护。软件开发不存在一劳永逸的架构。”
由于替换的难度或成本过高,或者仅仅是出于方便使用的目的,遗留软件仍在使用。然而,遗留软件常常因为老化和缺乏支持而引发各种问题,这就需要重构和重新设计系统的某些部分。