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

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

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

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

重构的模式与方法论

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

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

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

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

重构的流程

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

  1. 识别需要重构的地方

  2. 制定重构计划,

  3. 执行计划的重构任务

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

  5. 调整下一次重构策略

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

脑图索引

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

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

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

  • 评估

  • API 设计合理性评估

  • 模块分层架构

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

  • 公共代码的拆分策略

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

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

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

  • ……

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

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

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

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

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

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

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

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

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

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

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

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

Enjoying the shit!

不过,如开头所说:

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

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

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

发布了649 篇原创文章 · 获赞 943 · 访问量 153万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览