书籍 重构改善既有代码的设计  第2版=REFACTORING IMPROVING THE DESIGN OF EXISTING CODE SECOND EDITION的封面

重构改善既有代码的设计 第2版=REFACTORING IMPROVING THE DESIGN OF EXISTING CODE SECOND EDITIONPDF电子书下载

(美)马丁·福勒著

购买点数

20

出版社

出版时间

2019

ISBN

标注页数

0 页

PDF页数

457 页

图书目录

第1章 重构,第一个示例 1

1.1 起点 1

1.2 对此起始程序的评价 3

1.3 重构的第一步 5

1.4 分解statement函数 6

1.5 进展:大量嵌套函数 22

1.6 拆分计算阶段与格式化阶段 24

1.7 进展:分离到两个文件(和两个阶段) 31

1.8 按类型重组计算过程 34

1.9 进展:使用多态计算器来提供数据 41

1.10 结语 43

第2章 重构的原则 45

2.1 何谓重构 45

2.2 两顶帽子 46

2.3 为何重构 47

2.4 何时重构 50

2.5 重构的挑战 55

2.6 重构、架构和YAGNI 62

2.7 重构与软件开发过程 63

2.8 重构与性能 64

2.9 重构起源何处 67

2.10 自动化重构 68

2.11 延展阅读 70

第3章 代码的环味道 71

3.1 神秘命名 72

3.2 重复代码 72

3.3 过长函数 73

3.4 过长参数列表 74

3.5 全局数据 74

3.6 可变数据 75

3.7 发散式变化 76

3.8 霰弹式修改 76

3.9 依恋情结 77

3.10 数据泥团 78

3.11 基本类型偏执 78

3.12 重复的switch 79

3.13 循环语句 79

3.14 冗赘的元素 80

3.15 夸夸其谈通用性 80

3.16 临时字段 80

3.17 过长的消息链 81

3.18 中间人 81

3.19 内幕交易 82

3.20 过大的类 82

3.21 异曲同工的类 83

3.22 纯数据类 83

3.23 被拒绝的遗赠 83

3.24 注释 84

第4章 构筑测试体系 85

4.1 自测试代码的价值 85

4.2 待测试的示例代码 87

4.3 第一个测试 90

4.4 再添加一个测试 93

4.5 修改测试夹具 95

4.6 探测边界条件 96

4.7 测试远不止如此 99

第5章 介绍重构名录 101

5.1 重构的记录格式 101

5.2 挑选重构的依据 102

第6章 第一组重构 105

6.1 提炼函数 106

6.2 内联函数 115

6.3 提炼变量 119

6.4 内联变量 123

6.5 改变函数声明 124

6.6 封装变量 132

6.7 变量改名 137

6.8 引入参数对象 140

6.9 函数组合成类 144

6.10 函数组合成变换 149

6.11 拆分阶段 154

第7章 封装 161

7.1 封装记录 162

7.2 封装集合 170

7.3 以对象取代基本类型 174

7.4 以查询取代临时变量 178

7.5 提炼类 182

7.6 内联类 186

7.7 隐藏委托关系 189

7.8 移除中间人 192

7.9 替换算法 195

第8章 搬移特性 197

8.1 搬移函数 198

8.2 搬移字段 207

8.3 搬移语句到函数 213

8.4 搬移语句到调用者 217

8.5 以函数调用取代内联代码 222

8.6 移动语句 223

8.7 拆分循环 227

8.8 以管道取代循环 231

8.9 移除死代码 237

第9章 重新组织数据 239

9.1 拆分变量 240

9.2 字段改名 244

9.3 以查询取代派生变量 248

9.4 将引用对象改为值对象 252

9.5 将值对象改为引用对象 256

第10章 简化条件逻辑 259

10.1 分解条件表达式 260

10.2 合并条件表达式 263

10.3 以卫语句取代嵌套条件表达式 266

10.4 以多态取代条件表达式 272

10.5 引入特例 289

10.6 引入断言 302

第11章 重构API 305

11.1 将查询函数和修改函数分离 306

11.2 函数参数化 310

11.3 移除标记参数 314

11.4 保持对象完整 319

11.5 以查询取代参数 324

11.6 以参数取代查询 327

11.7 移除设值函数 331

11.8 以工厂函数取代构造函数 334

11.9 以命令取代函数 337

11.10 以函数取代命令 344

第12章 处理继承关系 349

12.1 函数上移 350

12.2 字段上移 353

12.3 构造函数本体上移 355

12.4 函数下移 359

12.5 字段下移 361

12.6 以子类取代类型码 362

12.7 移除子类 369

12.8 提炼超类 375

12.9 折叠继承体系 380

12.10 以委托取代子类 381

12.11 以委托取代超类 399

参考文献 405

索引 409

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包