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.



$250 | Buy Now

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
Using the eLearning System 4
Learning to Refactor 5
Baby Steps 13
The Hippocratic Oath 14
Refactoring Safely 15
The Rhythm of Refactoring 16
How Would You Refactor This? 17
Two Refactoring Styles 18
Round One 19
Small Steps Quiz 20
Round Two 21
Refactoring Rhythm Quiz 22
When We Say Baby, We Mean Baby 23
Ready For A Challenge? 25
Refactoring a Method ← Click to Preview 26
Consolidate Conditional Expression 27
Extract Hierarchy 28
Extract Superclass 29
Hide Method 30
Inline Method 31
Finding Refactorings in Code 32
Code Qualities & More Refactorings 33
Finding More Refactorings in Code 34
Why Record? 36
The Steps You'll Take 37
Step 1. Install the Recorder 38
Step 2. Download the Exercise 39
Step 3. Import the Exercise 40
Step 4. Perform the Exercise 41
Step 5. Upload the Archive 42
Step 6. Critique Your Performance 43
Remaining Issues 44
Carry On! 45
Automated Refactorings 47
Automated Refactoring Demonstration 48
Perfect Tools? 49
An Exercise To Give You Experience 50
Critiquing Your Performance 51
Installing the Recorder 52
Using ReSharper With the Exercises 53
Download the Exercise 54
Exercise Instructions 55
Upload Your Exercise 56
A Graph of Your Refactoring & Testing Activity 57
Your Critique Results 58
Your Customized Feedback 59
Automated Refactoring Solution 60
Refactoring Strategies & Tactics 62
Refactoring Strategy: Piecemeal Refactoring 63
Divide & Conquer Video 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 Lab 73
Installing the Recorder 74
Download the Lab 75
Refactoring Instructions 76
Upload Your Lab 77
A Graph of Your Refactoring & Testing Activity 78
Your Critique Results 79
Your Customized Lab Feedback 80
Smellections Lab 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 Lab 94
Installing the Recorder 95
Download the Lab 96
Your Mission 97
Upload Your Lab 98
A Graph of Your Refactoring & Testing Activity 99
Your Critique Results 100
Your Customized Lab Feedback 101
Smellections Lab 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 Lab 108
Installing the Recorder 109
Refactoring Instructions 110
Download the Lab 111
Your Mission 112
Upload Your Lab 113
A Graph of Your Refactoring & Testing Activity 114
Your Critique Results 115
Your Customized Lab Feedback 116
Smellections Lab 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: Preparing for Change 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 Lab 135
Installing the Recorder 136
Refactoring Instructions 137
Download the Lab 138
Your Mission 139
Upload Your Lab 140
A Graph of Your Refactoring & Testing Activity 141
Your Critique Results 142
Your Customized Lab Feedback 143
Smellections Lab 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.