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.



Get this Album

Volume Licensing

Have Any Questions?

Highlights

Instant Critiques: Take a refactoring exercise and get instant feedback from our automated band of experts. Learn more...
Expert Videos: Learn tools & techniques by watching short videos from industry experts. Learn more...

Integrated Forums: Ask questions, get expert replies and read fascinating discussions. Learn more...

Includes

  • 4-6 hours of content
  • 162 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
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 You'll Take 36
Step 1. Install the Recorder 37
Step 2. Download the Exercise 38
Step 3. Import the Exercise 39
Step 4. Perform the Exercise 40
Step 5. Upload the Archive 41
Step 6. Critique Your Performance 42
Remaining Issues 43
Carry On! 44
Automated Refactorings 46
Automated Refactoring Demonstration 47
Perfect Tools? 48
An Exercise To Give You Experience 49
Critiquing Your Performance 50
Installing the Recorder 51
Using ReSharper With the Exercises 52
Download the Exercise 53
Exercise Instructions 54
Upload Your Exercise 55
A Graph of Your Refactoring & Testing Activity 56
Your Critique Results 57
Your Customized Feedback 58
Automated Refactoring Solution 59
Refactoring Strategies & Tactics 61
Refactoring Strategy: Piecemeal Refactoring 62
Divide & Conquer Video 63
Tactic: Isolate-Improve-Inline 64
Refactoring Tactic: Rejected Parameter 65
Rejected Parameter Video 66
Introducing Smellections 68
Refactoring Smellections: Part 1 69
A Smell In Collection 70
Two Smells In AbstractList and AbstractSet 71
Removing A Long Method Smell From List 72
Assessing The Exercise 73
Installing the Recorder 74
Download the Exercise 75
Refactoring Instructions 76
Upload Your Exercise 77
A Graph of Your Refactoring & Testing Activity 78
Your Critique Results 79
Your Customized Feedback 80
Smellections Exercise Part 1 Solution 81
Removing Collection 82
Removing AbstractList & AbstractSet 83
Refactoring to a Composed Method ← Click to Preview 84
Caller Creates 86
Caller Swap 87
Caller Swap Video 88
Encapsulated Dependency 89
Encapsulated Dependency Video 90
Refactoring Smellections: Part 2 92
A Refused Bequest Smell in Smellections 93
Assessing The Exercise 94
Installing the Recorder 95
Download the Exercise 96
Your Mission 97
Upload Your Exercise 98
A Graph of Your Refactoring & Testing Activity 99
Your Critique Results 100
Your Customized Feedback 101
Smellections Exercise Part 2 Solution 102
Removing Map from the Hierarchy 103
Refactoring Smellections: Part 3 105
Smells in AbstractCollection 106
Don't Fix Bugs 107
Assessing The Exercise 108
Installing the Recorder 109
Refactoring Instructions 110
Download the Exercise 111
Your Mission 112
Upload Your Exercise 113
A Graph of Your Refactoring & Testing Activity 114
Your Critique Results 115
Your Customized Feedback 116
Smellections Exercise Part 3 Solution 117
Pulling Up Duplicated List and Set Fields 118
Cleaning Up AbstractCollection AddAll 119
Pulling Up Duplication From List and Set 120
Removing AddAll from Set 121
Pulling Up Add 122
Replacing Get & Set With An Indexer 123
Refactoring Rash 125
Refactoring Strategy: Graceful Retreat 126
Graceful Retreat Video 127
Refactoring Strategy: Gradual Cutover 128
Refactoring Strategy: Nesting 129
Refactoring Smellections: Part 4 131
Primitive Obsession In Map 132
A Temporary Field In Map 133
Managing A Change With Scaffolding 134
Assessing The Exercise 135
Installing the Recorder 136
Refactoring Instructions 137
Download the Exercise 138
Your Mission 139
Upload Your Exercise 140
A Graph of Your Refactoring & Testing Activity 141
Your Critique Results 142
Your Customized Feedback 143
Smellections Exercise Part 4 Solution 144
Narrowed Change 146
Narrowed Change Video 147
Parallel Change 148
Parallel Change Video ← Click to Preview 149
Unified Methods 150
Unified Methods Video 151
Evolved Target 152
Evolved Target Video 153
Experiencing Legacy Code ← Click to Preview 155
Poorly Written Driving Directions 156
Driving Directions Deconstructed 157
Simple, Clear & Concise Directions 158
What Directions Will You Take? 159
Urban Blight & Renewal 160
Conclusion: What's Next? 162

Related Items

Supported Browsers

  • Latest Firefox
  • Internet Explorer 8+
  • Latest Chrome
  • Latest Safari

Operating Systems

  • Windows
  • Linux
  • Mac OS X

Development Tools

You can use whatever developments tools you prefer. If you do use an IDE (Integrated Development Environment), many (though not all) of our labs come with projects pre-configured for Eclipse, IntelliJ and Visual Studio.

Speakers or headphones are required for our videos.

Flash is required to view charts or watch videos — download for free.