Do you work with CRRAP: Code Requiring Remedial Attention Promptly? Legacy code is everywhere, so it helps to
learn how to work with it effectively. Experience how experts use proven patterns to conquer legacy code
challenges and then practice your skills on an extensive, real-world exercise.
Highlights
Legacy Strategies: Tame your legacy code via expert strategies and guidance from genuine gurus.
Learn more...
Overcome Legacy Code Hurdles
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.
Expert Videos: Learn tools & techniques by watching short videos from industry experts.
Learn more...
Watch Short, Engaging Videos by Experts
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.
Integrated Forums: Ask questions, get expert replies and read fascinating discussions.
Learn more...
Engage in a Global Forum
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.
Includes
- 4-6 hours of content
- 95 pages
- 6 Videos
- 3 Exercises
- Solution code and videos
- Support for Eclipse
- Support for IntelliJ
Contents
You Are Here
|
3
|
What Is Legacy?
|
4
|
Why Care About Legacy?
|
5
|
The Top Three Activities With Legacy Code
|
6
|
Testability
|
7
|
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
|
Developer Sign-off
|
17
|
Lunch and Learn (Study Group)
|
18
|
Lunch and Learn (Lottery)
|
19
|
The Big Visible Chart
|
20
|
Refactoring Budget
|
21
|
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
|
Diagrams
|
27
|
|
28
|
Why You Should NOT Use Extract And Override
|
29
|
Why You SHOULD Use Extract And Override
|
30
|
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
|
Legacy Pattern: Tests As Probes
|
53
|
Pindown Tests
|
54
|
Exercise: Pin Down One Path
|
55
|
What is Static Cling?
|
68
|
A Class With Static Variables
|
69
|
Unexpected Test Failure
|
70
|
A Bad Solution: Reset Shared Data
|
71
|
A Better Solution: Remove Side-Effects
|
72
|
Creation Complexity
|
73
|
Solution: A Factory
|
74
|
Exercise: Static Cling
|
76
|
Problems!
|
77
|
A Close Look At The SongPlayer Class
|
78
|
Test Failures
|
79
|
Different Failures?
|
80
|
Download The Code
|
81
|
Your Mission
|
82
|
Our Solution
|
83
|
What About Privates?
|
85
|
How Interesting Are Privates?
|
86
|
If They Are Not Interesting, Don't Bother Testing Them
|
87
|
Ease the Restriction
|
88
|
How Private Are Privates?
|
89
|
Test Derived Class
|
90
|
The Refactoring Approach: Extract a Helper Class
← Click to Preview
|
91
|
Testing Privates While Maintaining Your Dignity
|
92
|
Privates, Design, And Testability
|
93
|
Conclusion: Where to Next?
|
95
|
Highlights
Legacy Strategies: Tame your legacy code via expert strategies and guidance from genuine gurus.
Learn more...
Overcome Legacy Code Hurdles
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.
Expert Videos: Learn tools & techniques by watching short videos from industry experts.
Learn more...
Watch Short, Engaging Videos by Experts
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.
Integrated Forums: Ask questions, get expert replies and read fascinating discussions.
Learn more...
Engage in a Global Forum
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.
Includes
- 4-6 hours of content
- 95 pages
- 6 Videos
- 3 Exercises
- Solution code and videos
- Support for Eclipse
- Support for IntelliJ
Contents
You Are Here
|
3
|
What Is Legacy?
|
4
|
Why Care About Legacy?
|
5
|
The Top Three Activities With Legacy Code
|
6
|
Testability
|
7
|
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
|
Developer Sign-off
|
17
|
Lunch and Learn (Study Group)
|
18
|
Lunch and Learn (Lottery)
|
19
|
The Big Visible Chart
|
20
|
Refactoring Budget
|
21
|
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
|
Diagrams
|
27
|
|
28
|
Why You Should NOT Use Extract And Override
|
29
|
Why You SHOULD Use Extract And Override
|
30
|
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
|
Legacy Pattern: Tests As Probes
|
53
|
Pindown Tests
|
54
|
Exercise: Pin Down One Path
|
55
|
What is Static Cling?
|
68
|
A Class With Static Variables
|
69
|
Unexpected Test Failure
|
70
|
A Bad Solution: Reset Shared Data
|
71
|
A Better Solution: Remove Side-Effects
|
72
|
Creation Complexity
|
73
|
Solution: A Factory
|
74
|
Exercise: Static Cling
|
76
|
Problems!
|
77
|
A Close Look At The SongPlayer Class
|
78
|
Test Failures
|
79
|
Different Failures?
|
80
|
Download The Code
|
81
|
Your Mission
|
82
|
Our Solution
|
83
|
What About Privates?
|
85
|
How Interesting Are Privates?
|
86
|
If They Are Not Interesting, Don't Bother Testing Them
|
87
|
Ease the Restriction
|
88
|
How Private Are Privates?
|
89
|
Test Derived Class
|
90
|
The Refactoring Approach: Extract a Helper Class
← Click to Preview
|
91
|
Testing Privates While Maintaining Your Dignity
|
92
|
Privates, Design, And Testability
|
93
|
Conclusion: Where to Next?
|
95
|
Volume Licensing
Volume Licensing
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.
Benefits
-
Volume pricing discounts. It's simple: the more you purchase, the more you save.
-
Custom catalogs. Define your custom catalog of albums and/or box sets that your staff can subscribe to.
-
One-on-one support. You get a dedicated Account Manager; choose the optimal program to meet your organization's specific needs.
-
Timely support. Expert coaches are available to answer your challenging questions within 1 to 2 business days. To foster a community of enthusiastic eLearners, we welcome and encourage user feedback.
-
Customized playlists. We provide customized playlists to help your staff efficiently navigate through the rich content.
-
Streamlined procurement process. With a single purchasing contract, you can avoid departmental budget constraints, differing purchasing procedures, and other administrative hurdles.
-
Flexible payment options. We offer flexible payment for qualified customers.
-
Unlimited lifetime license. Your students' licenses will not expire, providing continuous access to an effective, ever-improving learning tool.
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.