架构师学习笔记(一)技术债的危害和治理
参考连接:https://www.bilibili.com/video/BV1FP4y177it?spm_id_from=333.999.0.0
稳定压倒一切VS落后就要挨打
技术债的危害
为了加速软件开发(往往由于业务压力),采用了短期技术方案,从而带来负担
技术债的影响方面主要
- 安全性(Security)
- 可维护性(Maintainability)
- 可演进性(Evolvability)
- 招聘成本(工程师文化)
常见的技术债:代码越来越乱
- 代码可读性、复杂度
- bug越来越多,不敢改老代码
- 版本落后(语言、包、系统)
- 危害:安全漏洞无人修复
- 举例:log4j漏洞
- 技术栈落后
- 危害:开发效率低、招聘成本高
- 举例:php要不要升级go
- 架构落后
- 危害:运维部署效率低、成本高
- 举例:线下机房无法享受到云计算的优点
- 私有化定制开发偏离主干
- 危害:开发成本非常高
- 举例:过多个性化定制,短期得到了收入,但无法合与主干合并
- 单体应用膨胀,未及时拆分微服务
- 危害:耦合导致可维护性下降、开发效率降低
- 举例:庞大的BT系统等
如何解决技术债
技术债 | 解决方案 | 难度 |
---|---|---|
代码越来越乱 | 代码规范 | ⭐ |
bug越来越多 | 开发编写单元测试 | ⭐⭐⭐⭐⭐ |
语言/框架版本落后 | 容器化,由开发人员决定版本 | ⭐⭐ |
技术栈落后 | 持续学习 | ⭐⭐⭐⭐⭐ |
架构落后 | 持续学习 | ⭐⭐⭐ |
私有化定制偏离主干 | 删除分支,采用补丁;产品灵活,可配置;技术灵活,插件机制; | ⭐⭐⭐⭐⭐ |
单体应用膨胀 | 微服务 | ⭐⭐⭐⭐⭐ |