结束语|以重构为动力,让遗留系统焕发新生
黄俊彬
你好,我是黄俊彬。
不知不觉,课程接近尾声,感谢你的一路相伴。前面我们一起学习了如何通过自动化、系统化和工程化这三个关键方法来治理遗留系统,深入探讨了遗留系统的架构分析、架构设计、代码重构以及工程管理等诸多内容。
现在系统重构的学习之旅即将告一段落。今天,我还想和你分享三点“意识”层面的改变,这对于我们落地遗留系统改造同样重要。
自我要求
第一点是自我要求。所谓预防大于治疗,针对遗留系统道理也是如此。我们要充分利用好各种守护措施来保证代码合入前的质量,对自己编写的每一行代码足够重视。
就拿我之前参与改造的一个大型健康类 App 来说吧,代码规模在 200W 行左右,开发人员在 100+ 左右,一次全量编译接近 15 分钟。代码人员规模庞大,代码耦合很严重,光靠加人已经无法推动产品快速响应迭代。
我们在业务上也听到了众多不同角色的反馈。
产品经理说:一个简单的特性适配一款设备需要 4 人月。
开发人员说:这个代码,改不动 …
运营人员说:工作效率较低,配置活动成本很高,难度大。
某健康类App架构改造示意图
对于这样的系统,只是对一个核心模块做重构打样,就花了接近 3 个人月的时间(因为前面花费接近 1/3 的时间做系统设计及分析)。不难发现,我们前期多点投入,代价要远比后期去偿还小很多。这也是我们常说的质量内建,因为缺陷发现得越晚,修复的成本就越高。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
重构是一种重要的技术手段,可以让遗留系统焕发新生。本文从三个“意识”层面出发,分享了对遗留系统改造的重要认识。首先,强调了自我要求的重要性,提倡质量内建,早发现问题并及时修复。其次,强调了积少成多的理念,通过小步迭代、化整为零的方式,逐步改善系统。最后,强调了持续改进的重要性,指出遗留系统的技术债务需要主动、持续地改进甚至重构,以适应变化。文章通过实例生动地阐述了这些观点,并强调了重构的意义不仅在技术上,更在于提升团队的工作状态和工程文化。文章内容丰富,深入浅出,对于想要了解遗留系统重构的读者具有很高的参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《大型 Android 系统重构实战》,新⼈⾸单¥59
《大型 Android 系统重构实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- peter请教老师几个问题啊: Q1:准备开发一个APP,持续集成方面,麻烦老师推荐一个方案。Github Action?or Jenkins? Q2:安卓APP,通过wifi和外部设备通信,会有安全问题吗?是不是wifi这种无线方式不安全? Q3:怎么知道AS所用的c++版本?AS4.2创建JNI项目,怎么知道编译所用的c++版本? Q4:service不是一个线程,也不是一个进程。那么,service运行在哪里?是运行在主线程吗? Q5:有开源的IM吗?类似微信一类的比较好的IM APP。
作者回复: Hi,peter。 Q1:可以考虑Jenkins。生态丰富,资料也多。 Q2:我理解这里应该考虑的是通信协议的安全性。 Q3:可以参考一下NDK版本的说明:https://developer.android.google.cn/ndk/downloads/revision_history?hl=zh-cn Q4:service也可以配置成独立的进程。 Q5:我目前了解的没有,只有一些UI的高仿。
2023-04-12归属地:北京
收起评论