重构 改善既有代码的设计

重构 改善既有代码的设计
    分享到:
  • 商品编号:2141675
  • ISBN:9787115369093
  • 上架时间:2015-07-31
  • 图书质量:五星(社版新书)
  •   出版社:人民邮电出版社
  • 作者:(美)Martin Fowler著
  • 出版日期:2015-08-01
  • 开本:16开
  • 图书印张:0
  • 装帧:平装
  • 馆配分类:
  • 页数:428
  • 原  价:¥69
  • 发货地:北京
  • 批发价:批量购买价更低 ???
  • 零售价:¥48.62 (70折)
促销信息:无
 我要买:
-+
本 (库存85本)  已售出4

内容简介

《重构 改善既有代码的设计》内容简介:
本书清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70 多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

作者简介

《重构 改善既有代码的设计》作者简介:
作者介绍Martin Fowler,世界软件开发大师,在面向对象分析设计、UML、模式、XP和重构等领域都有卓越贡献,现为著名软件开发咨询公司ThoughtWorks的首席科学家。他的多部著作《分析模式》、《UML精粹》和《企业应用架构模式》等都已经成为脍炙人口的经典。译者介绍熊节,ThoughtWorks中国公司的高级咨询师、架构师和项目经理,在大型企业应用及互联网应用的架构和管理方面拥有丰富经验。作为敏捷方法学顾问和重构专家,他拥有在各种技术平台、编程语言、软件形态的项目中实施重构的丰富经验,并曾主持极具挑战性的超大规模电信软件系列重构工作。

图书目录

《重构 改善既有代码的设计》图书目录:

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

1.1起点 1

1.2重构的第一步 7

1.3分解并重组statement() 8

1.4运用多态取代与价格相关的条件逻辑 34

1.5结语 52

第2章重构原则 53

2.1何谓重构 53

2.2为何重构 55

2.3何时重构 57

2.4怎么对经理说 60

2.5重构的难题 62

2.6重构与设计 66

2.7重构与性能 69

2.8重构起源何处 71

第3章代码的坏味道 75

3.1Duplicated Code(重复代码) 76

3.2Long Method(过长函数) 76

3.3Large Class(过大的类) 78

3.4Long Parameter List(过长参数列) 78

3.5Divergent Change(发散式变化) 79

3.6Shotgun Surgery(霰弹式修改) 80

3.7Feature Envy(依恋情结) 80

3.8Data Clumps(数据泥团) 81

3.9Primitive Obsession(基本类型偏执) 81

3.10Switch Statements(switch惊悚现身) 82

3.11Parallel InheritanceHierarchies(平行继承体系) 83

3.12Lazy Class(冗赘类) 83

3.13Speculative Generality(夸夸其谈未来性) 83

3.14Temporary Field(令人迷惑的暂时字段) 84

3.15Message Chains(过度耦合的消息链) 84

3.16Middle Man(中间人) 85

3.17Inappropriate Intimacy(狎昵关系) 85

3.18Alternative Classes with Different Interfaces(异曲同工的类) 85

3.19Incomplete Library Class(不完美的库类) 86

3.20Data Class(纯稚的数据类) 86

3.21Refused Bequest(被拒绝的遗赠) 87

3.22Comments(过多的注释) 87

第4章构筑测试体系 89

4.1自测试代码的价值 89

4.2JUnit测试框架 91

4.3添加更多测试 97

第5章重构列表 103

5.1重构的记录格式 103

5.2寻找引用点 105

5.3这些重构手法有多成熟 106

第6章重新组织函数 109

6.1Extract Method(提炼函数) 110

6.2Inline Method(内联函数) 117

6.3Inline Temp(内联临时变量) 119

6.4Replace Temp with Query(以查询取代临时变量) 120

6.5Introduce Explaining Variable(引入解释性变量) 124

6.6Split Temporary Variable(分解临时变量) 128

6.7Remove Assignments to Parameters(移除对参数的赋值) 131

6.8Replace Method with Method Object(以函数对象取代函数) 135

6.9Substitute Algorithm(替换算法) 139

第7章在对象之间搬移特性 141

7.1Move Method(搬移函数) 142

7.2Move Field(搬移字段) 146

7.3Extract Class(提炼类) 149

7.4Inline Class(将类内联化) 154

7.5Hide Delegate(隐藏“委托关系”) 157

7.6Remove Middle Man(移除中间人) 160

7.7Introduce Foreign Method(引入外加函数) 162

7.8Introduce Local Extension(引入本地扩展) 164

第8章重新组织数据 169

8.1Self Encapsulate Field(自封装字段) 171

8.2Replace Data Value with Object(以对象取代数据值) 175

8.3Change Value to Reference(将值对象改为引用对象) 179

8.4Change Reference to Value(将引用对象改为值对象) 183

8.5Replace Array with Object(以对象取代数组) 186

8.6Duplicate Observed Data(复制

书摘与插图

《重构 改善既有代码的设计》书摘与插图暂缺