出版社:科学出版社
年代:2011
定价:43.8
本书采用实例手册的方式来组织全书内容,帮助读者了解最为重要的重构技术并将其应用于代码之中。本书并非流水账式地列举代码中存在的问题,而是给出一系列作者精心组织的问题,通过解决这些问题,让读者不仅在深层次上了解重构,而且会获得自己的一些心得体会。
第1章 本书导读.1
1.1概述.....1
1.2第1部分:类中的异味..........2
1.3第2部分:类之间的异味......2
1.4第3部分:待重构的程序......2
1.5关于练习.........3
第1部分 类中的异味
第2章 重构周期... 5
2.1什么是重构.....5
2.2异味就是问题.6
2.3重构周期.........7
2.4怎样算完成.....8
2.5重构内部.......10
2.6实战练习.......13
2.7小结...13
第3章 可度量的异味...14
3.1所涉及的异味...........14
3.2注释...15
3.3过长的方法...17
3.4过大的类.......22
3.5过长的参数表...........26
3.6实战练习.......28
3.7小结...29
补充点1 异味和重构...30
第4章 命名.......36
4.1所涉及的异味...........37
4.2名字(包括匈牙利记法)中包含类型.....37
4.3表达力差的名字.......38
4.4不一致的名字...........40
第5章 不必要的复杂性.. 42
5.1所涉及的异味...........42
5.2死代码...........42
5.3过分一般性...43
补充点2 逆处理...........46
第6章 重复.......48
6.1所涉及的异味...........49
6.2魔法数...........49
6.3重复性代码...50
6.4具有不同接口的相似类......51
6.5实战练习.......52
第7章 条件逻辑...........58
7.1所涉及的异味...........58
7.2Null检查.......58
7.3复杂的布尔表达式...60
7.4特殊用例.......61
7.5模拟继承(Switch语句)..62
补充点3 设计模式.......65
第2部分 类之间的异味
第8章 数据.......68
8.1所涉及的异味...........68
8.2基本类型困扰...........68
8.3数据类...........72
8.4数据泥团.......76
8.5临时字段.......77
第9章 继承.......78
9.1所涉及的异味...........78
9.2拒收的遗赠...78
9.3不当的紧密性(子类形式)..........80
9.4懒惰类...........81
第10章 职责.....83
10.1所涉及的异味........83
10.2依恋情结.....83
10.3不当的紧密性(一般形式).......85
10.4消息链.........86
10.5中间人.........87
10.6实战练习.....88
第11章 相关改变.........91
11.1所涉及的异味........91
11.2发散式改变.91
11.3霰弹式修改.94
11.4并行继承体系........96
11.5组合爆炸.....97 第12章 库类.....99
12.1所涉及的异味........99
12.2不完备的库类........99
12.3实战练习..100
补充点4 重构构成形式........103
第3部分 待重构的程序
第13章 一个数据库例子.....105
13.1Course.java........106
13.2Offering.java.....108
13.3Schedule.java...110
13.4Report.java........114
13.5TestSchedule.java.......115
13.6TestReport.java118
第14章 一个简单的游戏.....122
开发环节128
第15章 名录..130
15.1引言..........130
15.2第1种做法:Catalog.itemsMatching(query).......131
15.3第2种做法:Query.matchesln(catalog)...133
15.4第3种做法:Process(catalog.data,query.data).....134
15.5小结..........135
第16章 计划游戏模拟器.....136
16.1第1部分:原始代码.......137
代码...........137
实战练习...145
16.2第2部分:重新分配特性..........146
5个为什么.148
16.3去除重复、选择问题和一些模糊性....149
16.4第3部分:进一步改进代码......152
第17章 下一步何去何从.....155
17.1参考书......155
17.2警告..........155
将重构应用到实践中......155
将测试应用到实践中......155
求助他人...156
17.3必做练习..156
每周清除一个异味..........156
重新重构...156
只是重构...156
吸气/呼气 (Inhale/Exhale )...156
反向重构/误构 (Defactoring/Malfactoring)..........156
重构套路...157
17.4网站资源..157
第4部分 附录 附录A 所选问题的答案.......159
附录B Java重构工具...........188
附录C 重构逆处理...189
附录D 主要重构技术...........191
参考文献.........194
(美) 韦克, 著
(美) 韦克 (Wake,W.C.) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 马丁·福勒 (Martin Fowler) , 著
(美) 马丁·福勒 (Martin Fowler) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 克里夫斯基 (Kerievsky,J.) , 著