重构 改善既有代码的设计 (第2版·英文版)=Refactoring lmproving the Design of Existing Code,Second Edition
(美)马丁·福勒(Martin Fowler)著
1 (p1): Chapter 1:重构,第一个示例
1 (p1-1): 起点
3 (p1-2): 对此起始程序的评价
5 (p1-3): 重构的第一步
6 (p1-4): 分解statement方法
22 (p1-5): 进展:大量嵌套函数
24 (p1-6): 拆分计算阶段与格式化阶段
31 (p1-7): 进展:分离到两个文件(和两个阶段)
34 (p1-8): 按类型重组计算过程
41 (p1-9): 进展:使用多态计算器来提供数据
43 (p1-10): 结语
45 (p2): Chapter 2:重构的原则
45 (p2-1): 何谓重构
46 (p2-2): 两顶帽子
47 (p2-3): 为何重构
50 (p2-4): 何时重构
55 (p2-5): 重构的挑战
62 (p2-6): 重构、架构和YAGNI
63 (p2-7): 重构与软件开发过程
64 (p2-8): 重构与性能
67 (p2-9): 重构起源何处
68 (p2-10): 自动化重构
70 (p2-11): 延展阅读
71 (p3): Chapter 3:代码的坏味道
72 (p3-1): 神秘命名
72 (p3-2): 重复代码
73 (p3-3): 过长函数
74 (p3-4): 过长参数列表
74 (p3-5): 全局数据
75 (p3-6): 可变数据
76 (p3-7): 发散式变化
76 (p3-8): 霰弹式修改
77 (p3-9): 依恋情结
78 (p3-10): 数据泥团
78 (p3-11): 基本类型偏执
79 (p3-12): 重复的switch
79 (p3-13): 循环语句
80 (p3-14): 冗赘的元素
80 (p3-15): 夸夸其谈通用性
80 (p3-16): 临时字段
81 (p3-17): 过长的消息链
81 (p3-18): 中间人
82 (p3-19): 内幕交易
82 (p3-20): 过大的类
83 (p3-21): 异曲同工的类
83 (p3-22): 纯数据类
83 (p3-23): 被拒绝的遗赠
84 (p3-24): 注释
85 (p4): Chapter 4:构筑测试体系
85 (p4-1): 自测试代码的价值
87 (p4-2): 待测试的样例代码
90 (p4-3): 第一个测试
93 (p4-4): 再添加一个测试
95 (p4-5): 修改测试夹具
96 (p4-6): 探测边界条件
99 (p4-7): 测试远不止如此
101 (p5): Chapter 5:介绍重构名录
101 (p5-1): 重构的记录格式
102 (p5-2): 挑选重构的依据
105 (p6): Chapter 6:第一组重构
106 (p6-1): 提炼函数
115 (p6-2): 内联函数
119 (p6-3): 提炼变量
123 (p6-4): 内联变量
124 (p6-5): 改变函数声明
132 (p6-6): 封装变量
137 (p6-7): 变量改名
140 (p6-8): 引入参数对象
144 (p6-9): 函数组合成类
149 (p6-10): 函数组合成变换
154 (p6-11): 拆分阶段
161 (p7): Chapter 7:封装
162 (p7-1): 封装记录
170 (p7-2): 封装集合
174 (p7-3): 以对象取代基本类型
178 (p7-4): 以查询取代临时变量
182 (p7-5): 提炼类
186 (p7-6): 内联类
189 (p7-7): 隐藏委托关系
192 (p7-8): 移除中间人
195 (p7-9): 替换算法
197 (p8): Chapter 8:搬移特性
198 (p8-1): 搬移函数
207 (p8-2): 搬移字段
213 (p8-3): 搬移语句到函数
217 (p8-4): 搬移语句到调用者
222 (p8-5): 以函数调用取代内联代码
223 (p8-6): 移动语句
227 (p8-7): 拆分循环
231 (p8-8): 以管道取代循环
237 (p8-9): 移除死代码
239 (p9): Chapter 9:重新组织数据
240 (p9-1): 拆分变量
244 (p9-2): 字段改名
248 (p9-3): 以查询取代派生变量
252 (p9-4): 将引用对象改为值对象
256 (p9-5): 将值对象改为引用对象
259 (p10): Chapter 10:简化条件逻辑
260 (p10-1): 分解条件表达式
263 (p10-2): 合并条件表达式
266 (p10-3): 以卫语句取代嵌套条件表达式
272 (p10-4): 以多态取代条件表达式
289 (p10-5):…
1 (p1-1): 起点
3 (p1-2): 对此起始程序的评价
5 (p1-3): 重构的第一步
6 (p1-4): 分解statement方法
22 (p1-5): 进展:大量嵌套函数
24 (p1-6): 拆分计算阶段与格式化阶段
31 (p1-7): 进展:分离到两个文件(和两个阶段)
34 (p1-8): 按类型重组计算过程
41 (p1-9): 进展:使用多态计算器来提供数据
43 (p1-10): 结语
45 (p2): Chapter 2:重构的原则
45 (p2-1): 何谓重构
46 (p2-2): 两顶帽子
47 (p2-3): 为何重构
50 (p2-4): 何时重构
55 (p2-5): 重构的挑战
62 (p2-6): 重构、架构和YAGNI
63 (p2-7): 重构与软件开发过程
64 (p2-8): 重构与性能
67 (p2-9): 重构起源何处
68 (p2-10): 自动化重构
70 (p2-11): 延展阅读
71 (p3): Chapter 3:代码的坏味道
72 (p3-1): 神秘命名
72 (p3-2): 重复代码
73 (p3-3): 过长函数
74 (p3-4): 过长参数列表
74 (p3-5): 全局数据
75 (p3-6): 可变数据
76 (p3-7): 发散式变化
76 (p3-8): 霰弹式修改
77 (p3-9): 依恋情结
78 (p3-10): 数据泥团
78 (p3-11): 基本类型偏执
79 (p3-12): 重复的switch
79 (p3-13): 循环语句
80 (p3-14): 冗赘的元素
80 (p3-15): 夸夸其谈通用性
80 (p3-16): 临时字段
81 (p3-17): 过长的消息链
81 (p3-18): 中间人
82 (p3-19): 内幕交易
82 (p3-20): 过大的类
83 (p3-21): 异曲同工的类
83 (p3-22): 纯数据类
83 (p3-23): 被拒绝的遗赠
84 (p3-24): 注释
85 (p4): Chapter 4:构筑测试体系
85 (p4-1): 自测试代码的价值
87 (p4-2): 待测试的样例代码
90 (p4-3): 第一个测试
93 (p4-4): 再添加一个测试
95 (p4-5): 修改测试夹具
96 (p4-6): 探测边界条件
99 (p4-7): 测试远不止如此
101 (p5): Chapter 5:介绍重构名录
101 (p5-1): 重构的记录格式
102 (p5-2): 挑选重构的依据
105 (p6): Chapter 6:第一组重构
106 (p6-1): 提炼函数
115 (p6-2): 内联函数
119 (p6-3): 提炼变量
123 (p6-4): 内联变量
124 (p6-5): 改变函数声明
132 (p6-6): 封装变量
137 (p6-7): 变量改名
140 (p6-8): 引入参数对象
144 (p6-9): 函数组合成类
149 (p6-10): 函数组合成变换
154 (p6-11): 拆分阶段
161 (p7): Chapter 7:封装
162 (p7-1): 封装记录
170 (p7-2): 封装集合
174 (p7-3): 以对象取代基本类型
178 (p7-4): 以查询取代临时变量
182 (p7-5): 提炼类
186 (p7-6): 内联类
189 (p7-7): 隐藏委托关系
192 (p7-8): 移除中间人
195 (p7-9): 替换算法
197 (p8): Chapter 8:搬移特性
198 (p8-1): 搬移函数
207 (p8-2): 搬移字段
213 (p8-3): 搬移语句到函数
217 (p8-4): 搬移语句到调用者
222 (p8-5): 以函数调用取代内联代码
223 (p8-6): 移动语句
227 (p8-7): 拆分循环
231 (p8-8): 以管道取代循环
237 (p8-9): 移除死代码
239 (p9): Chapter 9:重新组织数据
240 (p9-1): 拆分变量
244 (p9-2): 字段改名
248 (p9-3): 以查询取代派生变量
252 (p9-4): 将引用对象改为值对象
256 (p9-5): 将值对象改为引用对象
259 (p10): Chapter 10:简化条件逻辑
260 (p10-1): 分解条件表达式
263 (p10-2): 合并条件表达式
266 (p10-3): 以卫语句取代嵌套条件表达式
272 (p10-4): 以多态取代条件表达式
289 (p10-5):…
Year:
2019
Edition:
2019
Language:
Chinese
File:
PDF, 140.00 MB
IPFS:
,
Chinese, 2019