域组 · L · 14 节点

域·演化与弃用

GD-L
域组基础进阶高级14 节点

§1组简介

本组 14 个节点,类型为 域组,域 L,覆盖阶段 基础 / 进阶 / 高级。

§2成员节点目录

节点 ID名称层/来源阶段简介
ESS-L-01软件演化定律本质 essence高级描述 E 型软件在持续演化中反复出现的规律:系统必须持续变更否则逐渐失效,而持续变更又使复杂度递增、质量下降,需要以自我调节与反馈治理。它把演化视为常态而非异常。它把演化确立为需要持续投入的常态过程。
ESS-L-02技术债本质本质 essence进阶技术债是用短期便利换取长期变更成本的设计权衡,其本质是经济取舍而非道德评判:审慎而有意的债务可加速交付,判断标准是债是否审慎、是否被及时偿还,而非是否存在。
ESS-L-03架构侵蚀与漂移本质 essence高级架构侵蚀是违反既定架构约束的改动导致的系统脆化,架构漂移是对架构不敏感的改动导致的逐渐失一致;两者共同使系统越来越抗拒变更,是架构层腐化的两种机制。
ESS-L-04演化的不可逆性本质 essence进阶成功投入使用的软件必然持续被修改,且演化在方向上是不可逆的:需求、环境与依赖的变化使系统无法回到先前状态,冻结系统只会加速其价值衰减。
ESS-L-05变更成本随复杂度增长本质 essence进阶这条原则描述的是一种随规模累积的效应:项目小时代码可以短小漂亮,一旦持续扩张,结构就越来越难把握,每一次改动都要付出更多的理解与验证成本。这种状态被形象地称为复杂泥潭。它的定义要点是成本的位置发生了转移,复杂度并不直接表现为功能缺失或性能下降,而是表现为动手变慢、出错变多、预算与排期双双失守。因为结构越难让人推理,改动者就越容易漏看隐含前提、副作用与意料之外的相互干扰。所以简单性被提升为构建系统时的关键目标之一,它与可运维性、可演化性并列,共同构成可维护性的三个面向。 把这层定义再推进一步,可以看出复杂度并非某种可以一次性清除的杂质,而是一种随功能与规模必然增长的存量。
MTH-L-01行为保持重构方法论 methodology基础在不改变可观察行为的前提下重组软件内部结构,使其更易理解、更易修改;判定重构是否成立的硬标准是行为不变,治理要点是把小步变换持续进行而非安排一次性大改。
MTH-L-02代码坏味道启发式方法论 methodology基础把代码中易于察觉的表层迹象作为可能指向更深层结构问题的启发式信号,用以发现重构对象与时机;坏味道提示「值得检查」,但不等于「一定有问题」,不能机械照改。
MTH-L-03技术债象限与偿还策略方法论 methodology进阶以「有意/无意」与「审慎/鲁莽」两组正交判据对债务分诊,据此制定差异化偿还策略:审慎有意者计划偿还,审慎无意者随认知更新修正,鲁莽者立即纠正,并按变更热点优先偿付利息最高的债务。
MTH-L-04演进式架构方法论 methodology高级把「有引导的增量变更」确立为跨多个架构维度的首要原则:通过定义架构维度、以可执行机制持续校验合规,并用增量交付验证,使架构能在不失去完整性的前提下持续演化。
MTH-L-05架构适应度函数方法论 methodology高级对某些架构特性提供客观完整性评估的可执行机制:把架构意图转写为可判定、可量化的校验,在构建或运行时持续验证,使架构约束不依赖人的记忆与自觉,从而抑制架构漂移。
MTH-L-06遗留系统渐进治理方法论 methodology高级对难以安全修改的遗留系统,先以接缝与特征测试建立覆盖既有行为的安全网,再以绞杀者方式增量迁移新功能、逐步替代旧系统,避免缺乏保护的大规模重写。
MTH-L-07弃用与日落策略方法论 methodology进阶对将被淘汰的能力采取分级的退场流程:先发出弃用信号并提供替代与迁移路径,留足通知期,再按版本语义区分兼容的弃用与破坏性的移除,从而在收敛接口的同时不破坏既有依赖。
TEC-L-01架构适应度函数工具化技术实践 technology高级把架构约束与质量目标转写为可自动执行、可量化判定的校验,并借助测试、静态分析、监控与部署流水线门禁等机制持续运行,使架构意图不再依赖人的记忆与自觉。
TEC-L-02绞杀者渐进式替换技术实践 technology高级在遗留系统之上或之旁增量构建新实现,通过可切换的接缝与路由逐步把功能与数据迁移过去,逐步替代旧系统,而非一次性整机重写。

§3组内关系图

域·演化与弃用 组内关系图前置依赖(prerequisite):演化不可逆使技术债必然累积细化(refines):架构侵蚀与漂移是技术债的架构层形态前置依赖(prerequisite):持续演化推动复杂度与变更成本上升依赖关联(dependency):侵蚀与漂移使系统抗拒变更、抬高变更成本依赖关联(dependency):变更成本是技术债利息的可观测落点依据推导(derives_from):行为保持重构是偿还技术债的核心手段依据推导(derives_from):坏味道是变更成本上升的可观察信号依据推导(derives_from):债务象限与偿还策略依据技术债本质依据推导(derives_from):演进式架构以演化不可逆为前提依据推导(derives_from):适应度函数用于抑制架构侵蚀与漂移依据推导(derives_from):遗留治理以降低变更成本为目标依据推导(derives_from):弃用策略是演化不可逆下的有序退场前置依赖(prerequisite):坏味道作为启发式信号触发重构依赖关联(dependency):债务偿还依靠行为保持重构前置依赖(prerequisite):改动遗留代码前先建立行为安全网细化(refines):适应度函数是演进式架构的强制机制前置依赖(prerequisite):遗留治理与弃用共享迁移路径设计依赖关联(dependency):债务治理与演进式架构协同前置依赖(prerequisite):演化定律的复杂度递增是技术债的理论根据依赖关联(dependency):架构腐化是演化定律在架构层的表现依据推导(derives_from):演进式架构承接软件必须持续演化的定律实现(implements):适应度函数工具化实现架构适应度函数方法论实现(implements):工具化持续校验支撑演进式架构的增量变更原则实现(implements):绞杀者渐进替换实现遗留系统渐进治理方法论实现(implements):绞杀者增量迁移体现有引导的增量演进组合(combination):适应度校验与绞杀者迁移组合保护遗留系统演进技术债本质技术债本质(ESS-L-02)软件演化定律软件演化定律(ESS-L-01)架构侵蚀与漂移架构侵蚀与漂移(ESS-L-03)演化的不可逆性演化的不可逆性(ESS-L-04)变更成本随复杂度增长变更成本随复杂度增长(ESS-L-05)行为保持重构行为保持重构(MTH-L-01)代码坏味道启发式代码坏味道启发式(MTH-L-02)技术债象限与偿还策略技术债象限与偿还策略(MTH-L-03)演进式架构演进式架构(MTH-L-04)架构适应度函数架构适应度函数(MTH-L-05)遗留系统渐进治理遗留系统渐进治理(MTH-L-06)弃用与日落策略弃用与日落策略(MTH-L-07)架构适应度函数工具化架构适应度函数工具化(TEC-L-01)绞杀者渐进式替换绞杀者渐进式替换(TEC-L-02)
前置依赖实现依据推导案例印证对比冲突
域·演化与弃用:组内关系图(全部 14 个成员):内联 14 个节点、26 条组内边,连线按边类型着色(六类配色见下);构建期确定性计算,无运行期脚本。

§4学习路径提示

本组内存在 6 条前置依赖边(prerequisite),推荐先掌握前置知识点,再进入依赖它的节点。

入组前置依赖(组外节点 → 本组成员)