这大抵是我最近几年,总结最快、最好的一本电子书。
如若你最近读过我的最新的一系列文章,对我所做的事情便有一定的了解:进行系统性的重构。所以,趁着休息的时间,我写了一本电子书《系统重构与迁移指南》。梳理了我过去几年及过去几个月的一些重构过程、经历,并因此有了这篇长长的心得。无非就是将经验总结为模式,结合各种书上的内容而成。
你可以通过以下三张图,看出这本书的大概内容。
重构的模式与方法论
架构重构。在不改变业务逻辑的情况下,根据单一职责和依赖倒置原则的思想:对系统进行模块拆分与合并,以明确职责降低耦合度;对包进行重新规划,划分包之间的边界,减少代码间的耦合。
模型重构。在包含测试的情况下,通过识别和发现模型的行为,将行为聚合到模型中:根据方法名称、参数、返回判定内聚到模型中;从流程梳理是否符合业务场景 。
模式重构。对于特定代码坏味道产生的问题,通过结合架构模式、设计模式来提升可读性。如:使用工厂模式统一管理对象的创建;使用策略模式降低复杂度。
代码重构。对于一些小的代码坏味道,可以通过 IDE 重构来快速改善即有代码,而不会影响到业务功能。如:复杂条件语句的提取;使用参数对象重构参数过多。
重构的流程
在真正实施每一种类型重构时,我们需要一个抽象可复用的模式。我尝试从书中找到一个合适的模式,但是都没有发现符合我的步骤。便在 PDCA 的前面加了个 E,代表了 evaluate:
识别需要重构的地方
制定重构计划,
执行计划的重构任务
使用测试对重构是否影响业务功能进行检察
调整下一次重构策略
对系统进行大规模重构的过程中,最难的地方在于识别,因为代码坏味道多的地方不一定是价值最高的。寻找你的价值曲线,寻找价值高、实施难度低的部分,是最体现你价值的地方。
脑图索引
重构不是一个简单的活,它涉及到一系列的软件开发实践:
创建重构防护网,保证重构过程的安全性
可随时继续的重构演进策略
评估
API 设计合理性评估
模块分层架构
架构合理度评估与对应的改进方案
公共代码的拆分策略
面向过程代码转面向对象
代码坏味道识别与代码重构
合适的设计模式替换旧的散弹式修改
……
也因此,你还需要一个书单来帮助你重构到特定的模式:
《重构与模式》(重构手法)
《设计模式:可复用面向对象软件的基础》(模式与原则依据)
《重构:改善既有代码的设计》(重构手法)
《领域驱动设计:软件核心复杂性应对之道》(模式与原则依据)
《修改代码的艺术:构建易维护代码的 9 条最佳实践》(重构手法)
《代码整洁之道》(模式与原则依据)
《架构整洁之道》(模式与原则依据)
《数据库重构》(重构手法)
《遗留系统重构指南》(模式与原则依据)
《前端架构:从入门到微前端》(模式与原则依据,前端项目)
它们可以用在不同阶段的重构。
Enjoying the shit!
不过,如开头所说:
当你试图对工作方式进行这些改进时,政治斗争可能抬起它丑陋的头——《拥抱变革:从优秀走向卓越的 48 个组织转型模式》
有一天,或许我会想一下怎么去解决这个问题。
在线阅读:https://github.com/phodal/migration
转载:https://blog.csdn.net/gmszone/article/details/103966436