图书介绍
重构 改善既有代码的设计 英文注释版pdf电子书版本下载
- (美)福勒(Martin Fowler)著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115168040
- 出版时间:2008
- 标注页数:471页
- 文件大小:31MB
- 文件页数:490页
- 主题词:软件开发-英文
PDF下载
下载说明
重构 改善既有代码的设计 英文注释版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
Chapter 1: Refactoring, a First Example重构,第一个例子 1
The Starting Point起点 1
The First Step in Refactoring重构第一步 7
Decomposing and Redistributing the Statement Method分解并重组statement方法 8
Replacing the Conditional Logic on Price Code with Polymorphism用多态代替价格条件逻辑代码 34
Final Thoughts结语 52
Chapter 2: Principles in Refactoring重构原则 53
Defining Refactoring何谓重构 53
Why Should You Refactor?为何重构 55
When Should You Refactor?何时重构 57
What Do I Tell My Manager?怎样说服经理 60
Problems with Refactoring重构的问题 62
Refactoring and Design重构与设计 66
Refactoring and Performance重构与性能 69
Where Did Refactoring Come From?重构的起源 71
Chapter 3: Bad Smells in Code(byKent Beck and Martin Fowler)代码坏味 75
Duplicated Code重复代码 76
Long Method过长方法 76
Large Class过长类 78
Long Parameter List过长参数列表 78
Divergent Change发散式变化 79
Shotgun Surgery霰弹式修改 80
Feature Envy特性依恋 80
Data Clumps数据泥团 81
Primitive Obsession基本类型偏执 81
Switch Statements switch语句 82
Parallel Inheritance Hierarchies平行继承体系 83
Lazy Class 冗余类 83
Speculative Generality理论上的一般性 83
Temporary Field临时字段 84
Message Chains消息链 84
Middle Man中间人 85
Inappropriate Intimacy过度亲密 85
Alternative Classes with Different Interfaces接口不同的等效类 85
Incomplete Library Class不完整的库类 86
Data Class数据类 86
Refused Bequest拒绝继承 87
Comments注释过多 87
Chapter 4: Building Tests构建测试 89
The Value of Self-testing Code自测试代码的重要性 89
The JUnit Testing Framework JUnit测试框架 91
Adding More Tests添加更多测试 97
Chapter 5: Toward a Catalog of Refactorings重构目录 103
Format of the Refactorings重构描述的格式 103
Finding References寻找引用 105
How Mature Are These Refactorings?这些重构的成熟度如何 106
Chapter 6: Composing Methods组合方法 109
Extract Method提取方法 110
Inline Method内联方法 117
Inline Temp内联临时变量 119
Replace Temp with Query①用查询方法代替临时变量 120
Introduce Explaining Variable引入解释性变量 124
Split Temporary Variable分离临时变量 128
Remove Assignments to Parameters去除参数赋值 131
Replace Method with Method Object用方法对象代替方法 135
Substitute Algorithm替换算法 139
Chapter 7: Moving Features Between Objects在对象之间移动特性 141
Move Method移动方法 142
Move Field移动字段 146
Extract Class提取类 149
Inline Class内联类 154
Hide Delegate隐藏委托类 157
Remove Middle Man去除中间人 160
Introduce Foreign Method引入外加方法 162
Introduce Local Extension引入本地扩展类 164
Chapter 8: Organizing Data组织数据 169
Self Encapsulate Field自封装字段 171
Replace Data Value with Object用对象代替数据值 175
Change Value to Reference将值对象改为引用对象 179
Change Reference to Value将引用对象改为值对象 183
Replace Array with Object用对象代替数组 186
Duplicate Observed Data重复被观察数据 189
Change Unidirectional Association to Bidirectional将单向关联改为双向 197
Change Bidirectional Association to Unidirectional将双向关联改为单向 200
Replace Magic Number with Symbolic Constant用字面常量代替魔数 204
Encapsulate Field封装字段 206
Encapsulate Collection封装集合 208
Replace Record with Data Class用数据类代替记录 217
Replace Type Code with Class用类代替类型码 218
Replace Type Code with Subclasses用子类代替类型码 223
Replace Type Code with State/Strategy用State/Strategy代替类型码 227
Replace Subclass with Fields用字段代替子类 232
Chapter 9: Simplifying Conditional Expressions简化条件语句 237
Decompose Conditional分解条件语句 238
Consolidate Conditional Expression合并条件语句 240
Consolidate Duplicate Conditional Fragments合并重复的条件片段 243
Remove Control Flag去除控制标志 245
Replace Nested Conditional with Guard Clauses用守卫语句代替嵌套条件语句 250
Replace Conditional with polymorphism用多态代替条件语句 255
Introduce Null Object引入Null对象 260
Introduce Assertion引入断言 267
Chapter 10: Making Method Calls Simpler简化方法调用 271
Rename Method重命名方法 273
Add Parameter添加参数 275
Remove Parameter去除参数 277
Separate Query from Modifier将查询方法与修改方法分离 279
Parameterize Method参数化方法 283
Replace Parameter with Explicit Methods用显式方法代替参数 285
Preserve Whole Object保持对象完整 288
Replace Parameter with Method用方法代替参数 292
Introduce Parameter Object引入参数对象 295
Remove Setting Method去除设置方法 300
Hide Method隐藏方法 303
Replace Constructor with Factory Method用工厂方法代替构造器 304
Encapsulate Downcast封装向下转型 308
Replace Error Code with Exception用异常代替错误码 310
Replace Exception with Test用测试代替异常 315
Chapter 11: Dealing with Generalization处理泛化关系 319
Pull Up Field上移字段 320
Pull Up Method上移方法 322
Pull Up Constructor Body上移构造器主体 325
Push Down Method下移方法 328
Push Down Field下移字段 329
Extract Subclass提取子类 330
Extract Superclass提取超类 336
Extract Interface提取接口 341
Collapse Hierarchy合并继承层次 344
Form Template Method形成Template Method 345
Replace Inheritance with Delegation用委托代替继承 352
Replace Delegation with Inheritance用继承代替委托 355
Chapter 12: Big Refactorings (byKent Beck and Martin Fowler)大型重构 359
Tease Apart Inheritance分解继承层次 362
Convert Procedural Design to Objects将过程式设计转换为面向对象 368
Separate Domain from Presentation将领域逻辑与表现分离 370
Extract Hierarchy提取继承层次 375
Chapter 13: Refactoring, Reuse, and Realiry(byWilliam Opdyke)重构,复用与现实 379
A Reality Check现实的检验 380
Why Are Developers Reluctant to Refactor Their Programs?开发人员为何不愿重构程序 381
A Realiry Check (Revisited)再谈现实的检验 394
Resources and References for Refactoring重构的资源和参考文献 394
Implications Regarding Software Reuse and Technology Transfer对软件复用与技术传播的意义 395
A Final Note结语 397
References参考文献 397
Chapter 14: Refactoring Tools (byDon Roberts and John Brant)重构工具 401
Refactoring with a Tool使用工具重构 401
Technical Criteria for a Refactoring Tool重构工具的技术标准 403
Practical Criteria for a Refactoring Tool重构工具的实用标准 405
Wrap Up结语 407
Chapter 15: Putting It All Together(byKent Beck)集大成 409
References参考文献 413
List of Soundbites要点列表 417
Updates更新内容 419
Index索引 459