2020 年,第一本电子书《系统重构与迁移指南》

这大抵是我最近几年,总结最快、最好的一本电子书。

如若你最近读过我的最新的一系列文章,对我所做的事情便有一定的了解:进行系统性的重构。所以,趁着休息的时间,我写了一本电子书《系统重构与迁移指南》。梳理了我过去几年及过去几个月的一些重构过程、经历,并因此有了这篇长长的心得。无非就是将经验总结为模式,结合各种书上的内容而成。

你可以通过以下三张图,看出这本书的大概内容。

重构的模式与方法论

  • 架构重构。在不改变业务逻辑的情况下,根据单一职责和依赖倒置原则的思想:对系统进行模块拆分与合并,以明确职责降低耦合度;对包进行重新规划,划分包之间的边界,减少代码间的耦合。

  • 模型重构。在包含测试的情况下,通过识别和发现模型的行为,将行为聚合到模型中:根据方法名称、参数、返回判定内聚到模型中;从流程梳理是否符合业务场景 。

  • 模式重构。对于特定代码坏味道产生的问题,通过结合架构模式、设计模式来提升可读性。如:使用工厂模式统一管理对象的创建;使用策略模式降低复杂度。

  • 代码重构。对于一些小的代码坏味道,可以通过 IDE 重构来快速改善即有代码,而不会影响到业务功能。如:复杂条件语句的提取;使用参数对象重构参数过多。

重构的流程

在真正实施每一种类型重构时,我们需要一个抽象可复用的模式。我尝试从书中找到一个合适的模式,但是都没有发现符合我的步骤。便在 PDCA 的前面加了个 E,代表了 evaluate:

  1. 识别需要重构的地方

  2. 制定重构计划,

  3. 执行计划的重构任务

  4. 使用测试对重构是否影响业务功能进行检察

  5. 调整下一次重构策略

对系统进行大规模重构的过程中,最难的地方在于识别,因为代码坏味道多的地方不一定是价值最高的。寻找你的价值曲线,寻找价值高、实施难度低的部分,是最体现你价值的地方。

脑图索引

重构不是一个简单的活,它涉及到一系列的软件开发实践:

  • 创建重构防护网,保证重构过程的安全性

  • 可随时继续的重构演进策略

  • 评估

  • API 设计合理性评估

  • 模块分层架构

  • 架构合理度评估与对应的改进方案

  • 公共代码的拆分策略

  • 面向过程代码转面向对象

  • 代码坏味道识别与代码重构

  • 合适的设计模式替换旧的散弹式修改

  • ……

也因此,你还需要一个书单来帮助你重构到特定的模式:

  • 《重构与模式》(重构手法)

  • 《设计模式:可复用面向对象软件的基础》(模式与原则依据)

  • 《重构:改善既有代码的设计》(重构手法)

  • 《领域驱动设计:软件核心复杂性应对之道》(模式与原则依据)

  • 《修改代码的艺术:构建易维护代码的 9 条最佳实践》(重构手法)

  • 《代码整洁之道》(模式与原则依据)

  • 《架构整洁之道》(模式与原则依据)

  • 《数据库重构》(重构手法)

  • 《遗留系统重构指南》(模式与原则依据)

  • 《前端架构:从入门到微前端》(模式与原则依据,前端项目)

它们可以用在不同阶段的重构。

Enjoying the shit!

不过,如开头所说:

当你试图对工作方式进行这些改进时,政治斗争可能抬起它丑陋的头——《拥抱变革:从优秀走向卓越的 48 个组织转型模式》

有一天,或许我会想一下怎么去解决这个问题。

在线阅读:https://github.com/phodal/migration

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值