图书介绍

重构 改善既有代码的设计 评注版pdf电子书版本下载

重构  改善既有代码的设计  评注版
  • 马丁·福勒(MartinFowler),肯特·贝克(KentBeck),约翰·布兰特(JohnBrant),威廉·奥迪克(WilliamOpdyke),唐·罗伯茨(DonRoberts)编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121134500
  • 出版时间:2011
  • 标注页数:430页
  • 文件大小:31MB
  • 文件页数:454页
  • 主题词:机器代码程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

重构 改善既有代码的设计 评注版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Chapter 1 Refactoring,a First Example(新增批注共21条) 1

The Starting Point 2

The First Step in Refactoring 9

Decomposing and Redistributing the Statement Method 10

Replacing the Conditional Logic on Price Code with Polymorphism 30

Final Thoughts 41

Chapter 2 Principles in Refactoring(新增批注共1 1条) 43

Defining Refactoring 43

Why Should You Refactor? 45

When Should You Refactor? 48

What DO I Tell My Manager? 51

Problems with Refactoring 53

Refactoring and Design 57

Refactoring and Performance 60

Where Did Refactoring Come From? 61

Chapter 3 Bad Smells in Code(by Kent Beck and Martin Fowler)(新增批注共17条) 65

Duplicated Code 66

Long Method 67

Large Class 70

Long Parameter List 71

Divergent Change 73

Shotgun Surgery 74

Feature Envy 74

Data Clumps 75

Primitive Obsession 76

Switch Statements 76

Parallel Inheritance Hierarchies 77

Lazy Class 77

Speculative Generality 78

Temporary Field 78

Message Chains 79

Middle Man 81

Inappropriate Intimacy 82

Alternative Classes with Different Interfaces 82

Incomplete Library Class 83

Data Class 83

Refused Bequest 84

Comments 84

Chapter 4 Building Tests(新增批注共2条) 87

The Value of Self.testing Code 87

The JUnit Testing Framework 89

Adding More Tests 97

Chapter 5 Toward a Catalog of Refactorings(新增批注共1条) 103

Format of the Refactorings 103

Finding References 105

How Mature Are These Refactorings? 106

Chapter 6 Composing Methods(新增批注共9条) 109

Extract Method 110

Inline Method 117

Inline Temp 118

Replace Temp with Query 119

Introduce Explaining Variable 124

Split Temporary Variable 128

Remove Assignments to Parameters 130

Replace Method with Method Object 134

Substitute Algorithm 137

Chapter 7 Moving Features Between Objects(新增批注共12条) 139

Move Method 139

Move Field 144

Extract Class 147

Inline Class 151

Hide Delegate 153

Remove Middle Man 156

Introduce Foreign Method 158

Introduce Local Extension 160

Chapter 8 Organizing Data(新增批注共9条) 167

Self Encapsulate Field 168

Replace Data Value with Object 172

Change Value to Reference 175

Change Reference to Value 179

Replace Array with Object 181

Duplicate Observed Data 186

Change Unidirectional Association to Bidirectional 194

Change Bidirectional Association to Unidirectional 197

Replace Magic Number with Symbolic Constant 200

Encapsulate Field 201

Encapsulate Collection 202

Replace Record with Data Class 211

Replace Type Code with Class 211

Replace Type Code with Subclasses 217

Replace Type Code with State/Strategy 220

Replace Subclass with Fields 225

Chapter 9 Simplifying Conditional Expressions(新增批注共6条) 229

Decompose Conditional 229

Consolidate Conditional Expression 231

Consolidate Duplicate Conditional Fragments 234

Remove Contr01 Flag 236

Replace Nested Conditional with Guard Clauses 240

Replace Conditional with Polymorphism 245

Introduce Null Object 249

Introduce Assertion 258

Chapter 10 Making Method Calls Simpler(新增批注共14条) 263

Rename Method 264

Add Parameter 266

Remove Parameter 267

Separate Query from Modifier 269

Parameterize Method 273

Replace Parameter with Explicit Methods 277

Preserve Whole Object 280

Replace Parameter with Method 283

Introduce Parameter Object 286

Remove Setting Method 293

Hide Method 296

Replace Constructor with Factory Method 297

Encapsulate Downcast 301

Replace Error Code with Exception 303

Replace Exception With Test 308

Chapter 11 Dealing with Generalization(新增批注共6条) 313

Pull Up Field 313

Pull Up Method 315

Pull Up Constructor Body 317

Push Down Method 320

Push Down Field 321

Extract Subclass 322

Extract Superclass 327

Extract Interface 331

Collapse Hierarchy 334

Form Template Method 335

Replace Inheritance with Delegation 342

Replace Delegation with Inheritance 345

Chapter 12 Big Refactorings(by Kent Beck and Martin Fowler)(新增批注共11条) 349

Tease Apart Inheritance 351

Convert Procedural Design to Objects 358

Separate Domain from Presentation 363

Extract Hierarchy 367

Chapter 13 Refaetoring,Reuse,and Reality(by William Opdyke)(新增批注共8条) 373

A Reality Check 374

Why Are Developers Reluctant to Refactor Their Programs? 375

A Reality Check(Revisited) 388

Resources and References for Refactoring 389

Implications Regarding Software Reuse and Technology Transfer 390

A Final Note 391

References 391

Chapter 14 Refactoring Tools(by Don Roberts and John Brant) 395

Refactoring with a Tool 395

Technical Criteria for a Refactoring Tool 397

Practical Criteria for a Refactoring Tool 399

Wrap Up 401

Chapter 15 Putting It All Together(by Kent Beck)(新增批注共2条) 403

References 407

List of Soundbites 411

Index 413

精品推荐