Your SlideShare is downloading. ×
Legacy code rehab
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Legacy code rehab

63
views

Published on

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
63
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Legacy Code : RehabA Workshop with @johnnonolanFriday, 26 April 13
  • 2. • Spent a few years thinking about rewrites.• Not an expert/guru.• Written a load of crap.MeFriday, 26 April 13
  • 3. What is legacy?• Code without tests?• Old tech?• Not the latest thing?• Not invented here?Friday, 26 April 13
  • 4. Is legacy so bad?Outside of software, how do we see legacy?Friday, 26 April 13
  • 5. Theres no getting away withit Legacy is everywhereFriday, 26 April 13
  • 6. 2 choicesRebuild or RenovatePhoto by John T PilotFriday, 26 April 13
  • 7. • Estimates always wrong.• New bugs.• Secret knowledge in the code.• Lengthy code freeze.• Organisation needs to wait for new features.Risks of Re-buildingFriday, 26 April 13
  • 8. But Renovating?• The code is a mess.• You dont know where to start.• It has become poorly designed.• It is typically untested.Friday, 26 April 13
  • 9. Botch it then?• Just hack the change in.• Code will be worse.• Which leads to worse code.Friday, 26 April 13
  • 10. Right lets do it!• Scratch refactor• Tell the story of the system• Sketches• Characterization tests• Golden Master techniqueFriday, 26 April 13
  • 11. Code SampleTrivia Code basehttps://github.com/jbrains/triviaFriday, 26 April 13
  • 12. Scratch refactor • Start playing with the code.• Throw away the changes.Friday, 26 April 13
  • 13. Telling the story?• Just the essentials• Then move on to more granular bits• Rinse & repeat.Friday, 26 April 13
  • 14. Sketches• Feature sketches• Effect Sketches• Effect analysisFriday, 26 April 13
  • 15. Characterization tests• Fail• Pass• Sensing variables• Inheritance• change access modifier• Throwaway?Friday, 26 April 13
  • 16. New FeatureFriday, 26 April 13
  • 17. Thanks• This session is all about understanding the impact ofchange.• Small safe steps.• Vices.Friday, 26 April 13
  • 18. FeedbackEmail : johnnonolan@gmail.comTwitter: @johnnonolanFriday, 26 April 13