Improving legacy code is possible if you approach the work with tested strategies.
Our experts teach you a variety of proven ways to overcome common legacy code hurdles.
Watch our experts efficiently explain models, demonstrate tools and solve exercises.
Like a good pop song, every video we make holds your attention and gets you into a better development rhythm.
No other eLearning system on the planet matches our discussion forums, woven throughout every album.
Ask questions, get expert replies, read and weigh in on fascinating discussion threads from a global audience.
|You Are Here||3|
|What Is Legacy?||4|
|Why Care About Legacy?||5|
|The Top Three Activities With Legacy Code||6|
|Hurdles To Microtesting||8|
|How To Proceed?||9|
|A Chicken And Egg Problem?||10|
|The Legacy Stance||12|
|Element One: Stop Digging ← Click to Preview||13|
|Element Two: Start Stepping||14|
|Element Three: More Microtests!||15|
|Some Important Non-Technical Techniques||16|
|Lunch and Learn (Study Group)||18|
|Lunch and Learn (Lottery)||19|
|The Big Visible Chart||20|
|Now, Back To Your Regularly Scheduled Technique||22|
|Extract and Override: The Universal Pliers||24|
|The Context: An Awkward Chunk Of Code||25|
|The Technique: Isolate And Test Around||26|
|How Much Code To Extract? ← Click to Preview||28|
|Why You Should NOT Use Extract And Override||29|
|Why You SHOULD Use Extract And Override||30|
|Download Starting Code||33|
|Extract And Override Solution 🎦 ← Click to Preview||36|
|Welcome To CRRAP!||38|
|A Typical Piece of CRRAP||39|
|Brief Overview Of The Output||40|
|The Cheat Sheet||41|
|The Rules Of The Game||42|
|Start with the Universals||44|
|Step 1: Reformat and Commit||45|
|Step 1: Our Version 🎦||46|
|Step 2: Eliminate the Noise||47|
|Step 2: Our Version 🎦||48|
|Step 3: Get To Testability||49|
|Crazy Mike Hits A Dead End! 🎦||50|
|Legacy Pattern: Mini-Scoop It! 🎦||51|
|Legacy Pattern: Maxi-Scoop 🎦||52|
|Exercise: Pin Down One Path||54|
|Where to from here?||56|
|The Mission ← Click to Preview||57|
|Technique: Control Your Namespace ← Click to Preview||58|
|Technique: Think Small||59|
|Technique: Keep Tests Excellent ← Click to Preview||60|
|The Cheat Sheet Again||61|
|Hints Page 2||64|
|What is Static Cling?||66|
|A Class With Static Variables||67|
|Unexpected Test Failure||68|
|A Bad Solution: Reset Shared Data||69|
|A Better Solution: Remove Side-Effects||70|
|Solution: A Factory||72|
|Exercise: Static Cling||74|
|A Close Look At The SongPlayer Class||76|
|Download The Code||79|
|What About Privates?||83|
|How Interesting Are Privates?||84|
|If They Are Not Interesting, Don't Bother Testing Them||85|
|Ease the Restriction||86|
|Friend of Friend||87|
|Use The Preprocessor||88|
|How Private Are Privates?||89|
|Test Derived Class||90|
|The Refactoring Approach: Extract a Helper Class ← Click to Preview||91|
|Privates, Design, And Testability||92|
|Conclusion: Where to Next?||94|
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.
In today's competitive environment, Industrial Logic aims to meet the needs of business customers not only by delivering world-class eLearning but also by providing a high degree of flexibility. Whether your organization is a startup, small- or medium-size business, or a large global enterprise, you benefit as a corporate customer from significant discounts.
Industrial Logic will tailor our volume licensing agreement to meet the needs of your specific organization, whether you consolidate your organization's purchases into one comprehensive transaction or spread your purchases out over a scheduled period of time. The more you order, the greater your savings.
To speak to a dedicated Account Manager today, please contact us.