《遗留系统现代化》读书笔记(基础篇)

目录

为什么要对遗留系统进行现代化?

什么是遗留系统?

遗留系统的现代化价值

总结

遗留系统的四化建设

代码现代化

架构现代化

[DevOps 现代化](#DevOps 现代化)

团队结构现代化

总结


本文地址:《遗留系统现代化》读书笔记(基础篇)_陆业聪的博客-CSDN博客

你现在所写的每一行代码,都是未来的遗留系统

为什么要对遗留系统进行现代化?

什么是遗留系统?

判断遗留系统的几个维度:代码、架构、测试、DevOps 以及技术和工具。时间长短并不是衡量遗留系统的标准。代码质量差、架构混乱、没有测试、纯手工的 DevOps(或运维)、老旧的技术和工具,才是遗留系统的真正特点。

遗留系统的现代化价值

首先,可能是成本太高了,企业不愿意投入资源去改进;也可能是因为积重难返,根本改不动。

其次,遗留系统蕴含了大量的数据资产。

另外,遗留系统中还藏匿着丰富的业务知识。

总结

我们从业界对遗留系统的定义中总结出了 4 个关键字:旧、过时、重要、仍在使用。然而人们对于遗留系统的认识存在一个普遍的误区,即时间长的系统就是遗留系统。

遗留系统的四化建设

遗留系统在代码、架构、测试、DevOps 方面存在诸多问题,我们在此基础上,将代码和测试合并(因为它们说的都是代码的质量),并引入开发团队这个维度,就得到了遗留系统现代化的四个方向:代码现代化、架构现代化、DevOps 现代化和团队结构现代化。

代码现代化

代码现代化的首要任务,就是对遗留系统的代码进行安全的可测试化重构。

当代码可测了,我们就可以为它们添加足够的测试,提供质量保障。然后,在测试的保障下进行安全的重构。当代码结构良好了,再实现下一个代码现代化的目标,也就是良好的分层结构。

架构现代化

改造老城区模式是指对遗留系统内部的模块进行治理、让模块内部结构合理、模块之间职责清晰的一系列模式。

建设新城区模式是指将遗留系统内部的某个模块拆分到外面,或将新需求实现在遗留系统外部的一系列模式。

DevOps 现代化

遗留系统的 DevOps 现代化与其说是一种改进,不如说是从 0 到 1 的建设。这一部分可以和代码、架构的治理并行,甚至可以更早。要从头开始搭建一个 DevOps 平台,包括代码、构建、测试、打包、发布、配置、监控等多个方面。

团队结构现代化

四种团队拓扑包括业务流团队、复杂子系统团队、平台团队和赋能团队。三种团队交互模式包括协作、服务和促进。团队拓扑不仅对遗留系统至关重要,对一个新系统如何组建开发团队、团队之间如何沟通协作也是至关重要的。

总结

相关推荐
javaDocker2 小时前
业务架构、数据架构、应用架构和技术架构
架构
喵叔哟3 小时前
重构代码之引入本地扩展
重构
JosieBook4 小时前
【架构】主流企业架构Zachman、ToGAF、FEA、DoDAF介绍
架构
.生产的驴4 小时前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
丁总学Java5 小时前
ARM 架构(Advanced RISC Machine)精简指令集计算机(Reduced Instruction Set Computer)
arm开发·架构
ZOMI酱7 小时前
【AI系统】GPU 架构与 CUDA 关系
人工智能·架构
喵叔哟8 小时前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
seraph9998 小时前
python oa服务器巡检报告脚本的重构和修改(适应数盾OTP)有空再去改
重构