购买云解压PDF图书

当前位置: 重构 改善既有代码的设计 评注版 > 购买云解压PDF图书
重构  改善既有代码的设计  评注版
  • 作 者:马丁·福勒(MartinFowler),肯特·贝克(KentBeck),约翰·布兰特(JohnBrant),威廉·奥迪克(WilliamOpdyke),唐·罗伯茨(DonRoberts)编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121134500
  • 注意:在使用云解压之前,请认真核对实际PDF页数与内容!

在线云解压

价格(点数)

购买连接

说明

转为PDF格式

13

立即购买

(在线云解压服务)

云解压服务说明

1、本站所有的云解压默认都是转为PDF格式,该格式图书只能阅读和打印,不能再次编辑。

云解压下载及付费说明

1、所有的电子图书云解压均转换为PDF格式,支持电脑、手机、平板等各类电子设备阅读;可以任意拷贝文件到不同的阅读设备里进行阅读。

2、云解压在提交订单后一般半小时内处理完成,最晚48小时内处理完成。(非工作日购买会延迟)

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

购买PDF格式(13分)
返回顶部