Whether you're a tech lead, a developer or a technically minded tester, this workshop will help you approach legacy code with confidence.
Learn how to build an initial safety net before applying multiple refactorings, and have lots of fun along the way!
This workshop is for you if you:
What's it all about?
We will be following a variation of the Legacy Code Retreat format. Working with legacy code (provided in a range of languages!) participants first learn how to build an overarching electronic safety net using the Golden Master Testing technique, before applying a range of refactorings too dangerous to otherwise attempt (but totally worth it).
As with regular code retreat, we will practice pair-programming, rotate pairs, and continue to practice rigorous unit test automation, and share our learnings.\r\n\r\nUnlike regular code retreat you do not have to delete your code at the end of each sprint, and the TDD cycle is a bit more relaxed.
What is Legacy Code?
Legacy code has been defined "as code without automated tests" and equivalently "code you are afraid to change". Unfortunately far too much "professional" code is legacy code.
Should I bring my own legacy code?
No. A small Legacy Code base will be supplied, available in a range of languages.
Will we be pair-programming?
Yes. And rotating pairs.
What should I bring?
We will need one laptop with internet access per two people, with a working development environment and a language* that you are comfortable with. While a test runner is desirable, it is not strictly essential.
*Examples will be given in pseudocode, perhaps Python and JavaScript, but the workshop is programming language agnostic.