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 |
Download the Exercise | 51 |
Exercise Instructions | 52 |
Upload Your Exercise | 53 |
A Graph of Your Refactoring & Testing Activity | 54 |
Your Critique Results | 55 |
Your Customized Feedback | 56 |
Automated Refactoring Solution 🎦 | 57 |
Refactoring Strategies & Tactics | 59 |
Refactoring Strategy: Piecemeal Refactoring | 60 |
Divide & Conquer Video 🎦 | 61 |
Tactic: Isolate-Improve-Inline | 62 |
Refactoring Tactic: Rejected Parameter | 63 |
Rejected Parameter Video 🎦 | 64 |
Introducing Smellections | 66 |
Refactoring Smellections: Part 1 | 67 |
A Smell In Collection 🎦
|
68 |
Two Smells In AbstractList and AbstractSet 🎦
|
69 |
Removing A Long Method Smell From List
|
70 |
Assessing The Exercise | 71 |
Installing Our Plugin | 72 |
Download the Exercise | 73 |
Refactoring Instructions | 74 |
Upload Your Exercise | 75 |
A Graph of Your Refactoring & Testing Activity | 76 |
Your Critique Results | 77 |
Your Customized Feedback | 78 |
Smellections Exercise Part 1 Solution | 79 |
Removing Collection 🎦 | 80 |
Removing AbstractList & AbstractSet 🎦 | 81 |
Refactoring to a Composed Method 🎦 ← Click to Preview | 82 |
Caller Creates 🎦 | 84 |
Caller Swap | 85 |
Caller Swap Video 🎦 | 86 |
Encapsulated Dependency | 87 |
Encapsulated Dependency Video 🎦 | 88 |
Refactoring Smellections: Part 2 | 90 |
A Refused Bequest Smell 🎦 | 91 |
Assessing The Exercise | 92 |
Installing Our Plugin | 93 |
Download the Exercise | 94 |
Your Mission | 95 |
Upload Your Exercise | 96 |
A Graph of Your Refactoring & Testing Activity | 97 |
Your Critique Results | 98 |
Your Customized Feedback | 99 |
Smellections Exercise Part 2 Solution | 100 |
Removing Map from the Hierarchy 🎦
|
101 |
Refactoring Smellections: Part 3 | 103 |
Smells in AbstractCollection
|
104 |
Don't Fix Bugs | 105 |
Assessing The Exercise | 106 |
Installing Our Plugin | 107 |
Refactoring Instructions | 108 |
Download the Exercise | 109 |
Your Mission | 110 |
Upload Your Exercise | 111 |
A Graph of Your Refactoring & Testing Activity | 112 |
Your Critique Results | 113 |
Your Customized Feedback | 114 |
Smellections Exercise Part 3 Solution | 115 |
Pulling Up Duplicated List and Set Fields 🎦
|
116 |
Cleaning Up AbstractCollection AddAll 🎦
|
117 |
Pulling Up Duplication From List and Set 🎦
|
118 |
Pulling Up Add 🎦
|
119 |
Removing AddAll from Set 🎦
|
120 |
Refactoring Rash | 122 |
Strategy: Graceful Retreat | 123 |
Strategy: Gradual Cutover | 124 |
Strategy: Nesting | 125 |
Refactoring Smellections: Part 4 | 127 |
Primitive Obsession In Map | 128 |
A Temporary Field In Map | 129 |
Managing A Change With Scaffolding | 130 |
Assessing The Exercise | 131 |
Installing Our Plugin | 132 |
Download the Exercise | 133 |
Your Mission | 134 |
Upload Your Exercise | 135 |
A Graph of Your Refactoring & Testing Activity | 136 |
Your Critique Results | 137 |
Your Customized Feedback | 138 |
Part 4 Solution 🎦 | 139 |
Narrowed Change | 141 |
Narrowed Change Video 🎦 | 142 |
Parallel Change | 143 |
Parallel Change Video 🎦 ← Click to Preview | 144 |
Unified Methods | 145 |
Unified Methods Video 🎦 | 146 |
Evolved Target | 147 |
Evolved Target Video 🎦 | 148 |
Experiencing Legacy Code ← Click to Preview | 150 |
Poorly Written Driving Directions | 151 |
Directions Deconstructed 🎦 | 152 |
Simple, Clear & Concise Directions | 153 |
What Directions Will You Take? | 154 |
Urban Blight & Renewal | 155 |
Related Books | 157 |
Conclusion: What's Next? | 158 |
All of our programming exercises come with projects pre-configured for IntelliJ, Eclipse and Visual Studio.
Speakers or headphones are required for our videos.