重构:改善既有代码的设计与方法

📚 共计 30 章节
第01章
重构初探
什么是重构?为什么要重构?重构与性能优化的区别。
基础概念
第02章
代码坏味道(上)
神秘命名、重复代码、过长函数、过长参数列表。
坏味道识别
第03章
代码坏味道(下)
全局数据、可变数据、发散式变化、霰弹式修改、依恋情结。
坏味道进阶
第04章
重构原则
何时重构、何时不重构、重构的节奏与频率。
原则节奏
第05章
测试的重要性
重构前的安全保障,编写自测试代码,测试驱动开发(TDD)入门。
测试TDD
第06章
第一组重构(上)
提炼函数、内联函数、提炼变量、内联变量。
基础重构函数
第07章
第一组重构(下)
改变函数声明、封装变量、变量改名、引入参数对象。
基础重构变量
第08章
封装(上)
封装记录、封装集合、以对象取代基本类型。
封装对象
第09章
封装(下)
以查询取代临时变量、提炼类、将类内联化、隐藏委托关系。
封装委托
第10章
搬移特性(上)
搬移函数、搬移字段、搬移语句到调用者。
搬移特性
第11章
搬移特性(下)
搬移语句到函数、以函数调用取代内联代码、拆分循环、以管道取代循环。
搬移循环
第12章
组织数据(上)
拆分变量、字段改名、以查询取代派生变量。
数据变量
第13章
组织数据(下)
将引用对象改为值对象、将值对象改为引用对象、以子类取代类型码。
数据对象
第14章
简化条件逻辑(上)
分解条件表达式、合并条件表达式、以卫语句取代嵌套条件表达式。
条件简化
第15章
简化条件逻辑(下)
以多态取代条件表达式、引入特例、引入断言。
多态断言
第16章
重构API(上)
将查询函数和修改函数分离、函数参数化、移除标记参数。
API参数
第17章
重构API(下)
保持对象完整、以查询取代参数、以参数取代查询、移除设值函数。
API完整对象
第18章
处理继承(上)
函数上移、字段上移、构造函数本体上移、函数下移。
继承上移
第19章
处理继承(下)
字段下移、以子类取代类型码、以策略类取代类型码、以组合取代继承。
继承组合
第20章
大型重构(上)
梳理并分解继承体系、将过程化设计转化为对象设计。
大型体系
第21章
大型重构(下)
分离领域与表现、提炼继承体系。
大型领域
第22章
重构与设计模式(上)
策略模式、工厂模式在重构中的应用。
设计模式策略
第23章
重构与设计模式(下)
观察者模式、模板方法模式在重构中的应用。
设计模式观察者
第24章
重构与性能
重构如何影响性能?重构后的性能调优策略。
性能调优
第25章
重构与团队协作
代码审查中的重构、版本控制与重构、团队重构规范。
团队规范
第26章
遗留系统重构(上)
理解遗留代码、给遗留代码添加测试、安全的重构手法。
遗留安全
第27章
遗留系统重构(下)
逐步替换、绞杀者模式、重构大型单体应用。
遗留绞杀者
第28章
数据库重构
数据库重构的挑战、演进式数据库设计、数据迁移策略。
数据库迁移
第29章
JavaScript/TypeScript中的重构
动态类型的重构技巧、类型系统的利用。
JS/TS类型
第30章
重构实战案例
一个完整的电商系统重构过程,从分析到落地。
实战电商