出版社:中国电力出版社
年代:2004
定价:
本书可以作为Martin Fowler所著《重构——改善既有代码的设计》一书的姐妹篇,书中对多种重构技术提供了循序渐进的介绍。Wake采用了实例手册的方法来组织全书,以帮助了解最为重要的重构技术并将其应用于代码之中。这是一种强调学习的方法,要求你必须充分应用本书所提供的诸多技术。除此之外,这种方法还有一个附带的好处,即尽管你当前所做的工作也许并非重构,利用此实例手册也将有助于使你更多地考虑如何创建优质的代码。
第1章 路线图 1
1.1 概述 1
1.2 第1部分:类之中的坏味道 2
1.3 第2部分:类之间的坏味道 2
1.4 第3部分:待重构的程序 2
1.5 关于练习 3
第1部分 类之中的坏味道
第2章 重构周期 7
2.1 什么是重构? 7
2.2 坏味道即为问题 8
2.3 重构周期 9
2.4 什么时候才算结束? 9
2.5 在重构之中 12
2.6 实战练习 15
2.7 小结 15
第3章 可度量的坏味道 17
3.1 所涉及的坏味道 17
3.2 注释 18
3.3 过长的方法 20
3.4 过大的类 25
3.5 过长的参数表 30
3.6 更多实战练习 32
3.7 小结 33
中场休息1 坏味道和重构 35
第4章 命名 39
4.1 所涉及的坏味道 40
4.2 名字(包括匈牙利记法)中嵌有类型 40
4.3 表达能力差的名字 41
4.4 不一致的名字 42
第5章 不必要的复杂性 45
5.1 所涉及的坏味道 45
5.2 死代码 45
5.3 过分一般性 46
中场休息2 逆处理 49
第6章 重复 51
6.1 所涉及的坏味道 52
6.2 魔法数 52
6.3 重复性代码 53
6.4 接口不同的相似类 54
6.5 实战练习 55
第7章 条件逻辑 63
7.1 所涉及的坏味道 63
7.2 Null检查 63
7.3 复杂的布尔表达式 65
7.4 特殊用例 67
7.5 模拟继承(Switch语句) 68
中场休息3 设计模式 71
第2部分 类之间的坏味道
第8章 数据 75
8.1 所涉及的坏味道 75
8.2 基本类型困扰 75
8.3 数据类 79
8.4 数据泥团 83
8.5 临时字段 85
第9章 继承 87
9.1 所涉及的坏味道 87
9.2 拒收的遗赠 87
9.3 不当的紧密性(子类形式) 90
9.4 慵懒类 90
第10章 职责 93
10.1 所涉及的坏味道 93
10.2 依恋情结 93
10.3 不当的紧密性(一般形式) 95
10.4 消息链 96
10.5 中间人 97
10.6 实战练习 98
第11章 相关改变 103
11.1 所涉及的坏味道 103
11.2 发散式改变 103
11.3 霰弹式修改 107
11.4 并行继承体系 108
11.5 组合爆炸 109
第12章 库类 111
12.1 所涉及的坏味道 111
12.2 不完备的库类 111
12.3 实战练习 112
中场休息4 重构构成形式 117
第3部分 待重构的程序
第13章 一个数据库例子 121
13.1 Course.java(可由www.xp123.com/rwb在线获得) 122
13.2 Offering.java 124
13.3 Schedule.java 126
13.4 Report.java 129
13.5 TestSchedule.java 131
13.6 TestReport.java 134
第14章 一个简单的游戏 141
14.1 开发环节 147
第15章 编目 151
15.1 引言 151
15.2 第1种做法:Catalog.itemsMatching(query) 152
15.3 第2种做法:Query.matchesIn(catalog) 155
15.4 第3种做法:Process(catalog.data, query.data) 156
15.5 小结 157
第16章 计划游戏模拟器 159
16.1 第1部分:原始代码 160
16.2 代码(可在www.xp123.com/rwb在线得到) 160
16.3 Table.java 160
16.4 Background.java 164
16.5 Card.java 165
16.6 实战练习 168
16.7 第2部分:重新分配特性 170
16.8 去除重复、选择问题以及一些模糊性 173
16.9 第3部分:进一步推动代码 176
第17章 下一步何去何从 181
17.1 参考书 181
17.2 警告 181
17.3 必经历练 182
17.4 Web网站资源 183
第4部分 附录
附录A 所选问题的答案 187
附录B Java重构工具 217
附录C 重构逆处理 219
附录D 主要重构技术 221
参考文献 225
索引 227
什么是重构?重构是改善既有代码设计的一门艺术。重构不仅提供了相应途径以找出存在问题的代码,而且还对症下药,针对如何改善此类代码开出了处方。本书目标本书是一本实例手册,专门用来帮助读者达到以下目的:l 尝试找出最重要的"坏味道(smell)"(即,存在的问题)l 应用最为重要的重构技术 l 充分考虑如何创建优质的代码 l 尽享重构带来的乐趣!具体来讲,本书是一本参考书,提供了以下内容: l 便于使用的坏味道嗅探工具(smell finder) l 描述坏味道的一种标准格式 l 附录中给出了支持重构的Java工具列表 l 附录中还提供了对关键重构技术的介绍 本书面向的对象重构是一种面向代码的技术,相应地,这本书则是特别为致力于编写和维护代码的程序员所著。 学生们也能够从重构中大为获益,尽管我认为,只有当他们有机会参与开发一个中等规模或更大型的程序,或者作为成员之一在开发小组中经过一番历练之后,才会对重构的价值有所体会(无论是低年级学生、高年级学生还是研究生,都免不了有此磨练过程)。
(美) 威克 (Wake,W.C.) , 著
(美) 韦克 (Wake,W.C.) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 马丁·福勒 (Martin Fowler) , 著
(美) 马丁·福勒 (Martin Fowler) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 福勒 (Fowler,M.) , 著
(美) 克里夫斯基 (Kerievsky,J.) , 著