Refactoring

The Art of Safely Improving Software Designs — C# Edition

Art for Refactoring Check Out A Preview

By Joshua Kerievsky

Did you ever want to turn a messy, complex software design into simple, safe code? Refactoring provides the tools and techniques for safely improving your software designs. Immerse yourself in Refactoring exercises featuring our "look-over-your-shoulder" technology that gives you expert feedback. Build strong Refactoring skills by learning how to use powerful tools and proven techniques.

Highlights

Instant Critiques
Instant Critiques: Take a refactoring exercise and get instant feedback from our automated band of experts. Learn more...
Expert Videos
Expert Videos: Learn tools & techniques by watching short videos from industry experts. Learn more...
Integrated Forums
Integrated Forums: Ask questions, get expert replies and read fascinating discussions. Learn more...

Includes

  • 4-6 hours of content
  • 161 pages
  • Refactoring Strategies & Tactics
  • 7 Interactive quizzes
  • 23 Videos
  • 5 exercises
  • Support for Visual Studio
  • Extensive Video using ReSharper 4.5

Contents

You Are Here 3
Learning to Refactor 4
What Is Refactoring? 6
An Example Refactoring 7
Refactoring Is Revision ← Click to Preview 8
Revision Of The Declaration Of Independence ← Click to Preview 9
What Motivates Us to Refactor? 10
Baby Steps 12
The Hippocratic Oath 13
Refactoring Safely 14
The Rhythm of Refactoring 15
How Would You Refactor This? 16
Two Refactoring Styles 17
Round One 18
Small Steps Quiz 19
Round Two 20
Refactoring Rhythm Quiz 21
When We Say Baby, We Mean Baby 22
Ready For A Challenge? 24
Refactoring a Method ← Click to Preview 25
Consolidate Conditional Expression 26
Extract Hierarchy 27
Extract Superclass 28
Hide Method 29
Inline Method 30
Finding Refactorings in Code 31
Code Qualities & More Refactorings 32
Finding More Refactorings in Code 33
Why Record? 35
The Steps To Take 36
Install the Recorder 37
Download the Exercise 38
Import the Exercise 39
Perform the Exercise 40
Upload the Archive 41
Critique Your Performance 42
Remaining Issues 43
Carry On! 44
Automated Refactorings 46
Automated Refactoring Demo 47
Perfect Tools? 48
An Exercise To Give You Experience 49
Critiquing Your Performance 50
Using ReSharper With the Exercises 51
Download the Exercise 52
Exercise Instructions 53
Upload Your Exercise 54
A Graph of Your Refactoring & Testing Activity 55
Your Critique Results 56
Your Customized Feedback 57
Automated Refactoring Solution 58
Refactoring Strategies & Tactics 60
Refactoring Strategy: Piecemeal Refactoring 61
Divide & Conquer Video 62
Tactic: Isolate-Improve-Inline 63
Refactoring Tactic: Rejected Parameter 64
Rejected Parameter Video 65
Introducing Smellections 67
Refactoring Smellections: Part 1 68
A Smell In Collection 69
Two Smells In AbstractList and AbstractSet 70
Removing A Long Method Smell From List 71
Assessing The Exercise 72
Installing the Recorder 73
Download the Exercise 74
Refactoring Instructions 75
Upload Your Exercise 76
A Graph of Your Refactoring & Testing Activity 77
Your Critique Results 78
Your Customized Feedback 79
Smellections Exercise Part 1 Solution 80
Removing Collection 81
Removing AbstractList & AbstractSet 82
Refactoring to a Composed Method ← Click to Preview 83
Caller Creates 85
Caller Swap 86
Caller Swap Video 87
Encapsulated Dependency 88
Encapsulated Dependency Video 89
Refactoring Smellections: Part 2 91
A Refused Bequest Smell 92
Assessing The Exercise 93
Installing the Recorder 94
Download the Exercise 95
Your Mission 96
Upload Your Exercise 97
A Graph of Your Refactoring & Testing Activity 98
Your Critique Results 99
Your Customized Feedback 100
Smellections Exercise Part 2 Solution 101
Removing Map from the Hierarchy 102
Refactoring Smellections: Part 3 104
Smells in AbstractCollection 105
Don't Fix Bugs 106
Assessing The Exercise 107
Installing the Recorder 108
Refactoring Instructions 109
Download the Exercise 110
Your Mission 111
Upload Your Exercise 112
A Graph of Your Refactoring & Testing Activity 113
Your Critique Results 114
Your Customized Feedback 115
Smellections Exercise Part 3 Solution 116
Pulling Up Duplicated List and Set Fields 117
Cleaning Up AbstractCollection AddAll 118
Pulling Up Duplication From List and Set 119
Pulling Up Add 120
Removing AddAll from Set 121
Replacing Get & Set With An Indexer 122
Refactoring Rash 124
Strategy: Graceful Retreat 125
Graceful Retreat Video 126
Strategy: Gradual Cutover 127
Strategy: Nesting 128
Refactoring Smellections: Part 4 130
Primitive Obsession In Map 131
A Temporary Field In Map 132
Managing A Change With Scaffolding 133
Assessing The Exercise 134
Installing the Recorder 135
Download the Exercise 136
Your Mission 137
Upload Your Exercise 138
A Graph of Your Refactoring & Testing Activity 139
Your Critique Results 140
Your Customized Feedback 141
Part 4 Solution 142
Narrowed Change 144
Narrowed Change Video 145
Parallel Change 146
Parallel Change Video ← Click to Preview 147
Unified Methods 148
Unified Methods Video 149
Evolved Target 150
Evolved Target Video 151
Experiencing Legacy Code ← Click to Preview 153
Poorly Written Driving Directions 154
Directions Deconstructed 155
Simple, Clear & Concise Directions 156
What Directions Will You Take? 157
Urban Blight & Renewal 158
Related Books 160
Conclusion: What's Next? 161

Related Items

Volume Licensing

Have Any Questions?

Highlights

Instant Critiques
Instant Critiques: Take a refactoring exercise and get instant feedback from our automated band of experts. Learn more...
Expert Videos
Expert Videos: Learn tools & techniques by watching short videos from industry experts. Learn more...
Integrated Forums
Integrated Forums: Ask questions, get expert replies and read fascinating discussions. Learn more...

Includes

  • 4-6 hours of content
  • 161 pages
  • Refactoring Strategies & Tactics
  • 7 Interactive quizzes
  • 23 Videos
  • 5 exercises
  • Support for Visual Studio
  • Extensive Video using ReSharper 4.5

Contents

You Are Here 3
Learning to Refactor 4
What Is Refactoring? 6
An Example Refactoring 7
Refactoring Is Revision ← Click to Preview 8
Revision Of The Declaration Of Independence ← Click to Preview 9
What Motivates Us to Refactor? 10
Baby Steps 12
The Hippocratic Oath 13
Refactoring Safely 14
The Rhythm of Refactoring 15
How Would You Refactor This? 16
Two Refactoring Styles 17
Round One 18
Small Steps Quiz 19
Round Two 20
Refactoring Rhythm Quiz 21
When We Say Baby, We Mean Baby 22
Ready For A Challenge? 24
Refactoring a Method ← Click to Preview 25
Consolidate Conditional Expression 26
Extract Hierarchy 27
Extract Superclass 28
Hide Method 29
Inline Method 30
Finding Refactorings in Code 31
Code Qualities & More Refactorings 32
Finding More Refactorings in Code 33
Why Record? 35
The Steps To Take 36
Install the Recorder 37
Download the Exercise 38
Import the Exercise 39
Perform the Exercise 40
Upload the Archive 41
Critique Your Performance 42
Remaining Issues 43
Carry On! 44
Automated Refactorings 46
Automated Refactoring Demo 47
Perfect Tools? 48
An Exercise To Give You Experience 49
Critiquing Your Performance 50
Using ReSharper With the Exercises 51
Download the Exercise 52
Exercise Instructions 53
Upload Your Exercise 54
A Graph of Your Refactoring & Testing Activity 55
Your Critique Results 56
Your Customized Feedback 57
Automated Refactoring Solution 58
Refactoring Strategies & Tactics 60
Refactoring Strategy: Piecemeal Refactoring 61
Divide & Conquer Video 62
Tactic: Isolate-Improve-Inline 63
Refactoring Tactic: Rejected Parameter 64
Rejected Parameter Video 65
Introducing Smellections 67
Refactoring Smellections: Part 1 68
A Smell In Collection 69
Two Smells In AbstractList and AbstractSet 70
Removing A Long Method Smell From List 71
Assessing The Exercise 72
Installing the Recorder 73
Download the Exercise 74
Refactoring Instructions 75
Upload Your Exercise 76
A Graph of Your Refactoring & Testing Activity 77
Your Critique Results 78
Your Customized Feedback 79
Smellections Exercise Part 1 Solution 80
Removing Collection 81
Removing AbstractList & AbstractSet 82
Refactoring to a Composed Method ← Click to Preview 83
Caller Creates 85
Caller Swap 86
Caller Swap Video 87
Encapsulated Dependency 88
Encapsulated Dependency Video 89
Refactoring Smellections: Part 2 91
A Refused Bequest Smell 92
Assessing The Exercise 93
Installing the Recorder 94
Download the Exercise 95
Your Mission 96
Upload Your Exercise 97
A Graph of Your Refactoring & Testing Activity 98
Your Critique Results 99
Your Customized Feedback 100
Smellections Exercise Part 2 Solution 101
Removing Map from the Hierarchy 102
Refactoring Smellections: Part 3 104
Smells in AbstractCollection 105
Don't Fix Bugs 106
Assessing The Exercise 107
Installing the Recorder 108
Refactoring Instructions 109
Download the Exercise 110
Your Mission 111
Upload Your Exercise 112
A Graph of Your Refactoring & Testing Activity 113
Your Critique Results 114
Your Customized Feedback 115
Smellections Exercise Part 3 Solution 116
Pulling Up Duplicated List and Set Fields 117
Cleaning Up AbstractCollection AddAll 118
Pulling Up Duplication From List and Set 119
Pulling Up Add 120
Removing AddAll from Set 121
Replacing Get & Set With An Indexer 122
Refactoring Rash 124
Strategy: Graceful Retreat 125
Graceful Retreat Video 126
Strategy: Gradual Cutover 127
Strategy: Nesting 128
Refactoring Smellections: Part 4 130
Primitive Obsession In Map 131
A Temporary Field In Map 132
Managing A Change With Scaffolding 133
Assessing The Exercise 134
Installing the Recorder 135
Download the Exercise 136
Your Mission 137
Upload Your Exercise 138
A Graph of Your Refactoring & Testing Activity 139
Your Critique Results 140
Your Customized Feedback 141
Part 4 Solution 142
Narrowed Change 144
Narrowed Change Video 145
Parallel Change 146
Parallel Change Video ← Click to Preview 147
Unified Methods 148
Unified Methods Video 149
Evolved Target 150
Evolved Target Video 151
Experiencing Legacy Code ← Click to Preview 153
Poorly Written Driving Directions 154
Directions Deconstructed 155
Simple, Clear & Concise Directions 156
What Directions Will You Take? 157
Urban Blight & Renewal 158
Related Books 160
Conclusion: What's Next? 161

Related Items