Mastering Legacy Code
Startdata en plaatsen
Beschrijving
Everyone wants software that 'just works', that is a joy to maintain, and where you can add new features easily. In practice however, there are always bugs to fix and customers to please. Corners are cut and design debt accumulates, ultimately resulting in legacy code – code without tests.
You would like to improve the software piecemeal using refactoring - which means improving the design of existing code without changing its behaviour. There is a Catch-22 here: to refactor safely, you need automated tests to ensure the code behaves the same as before. To add tests, you first have to make it modular by refactoring.
There still is hope! Through presentations, demonstrations, exercises, and…
Veelgestelde vragen
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
Everyone wants software that 'just works', that is a joy to maintain, and where you can add new features easily. In practice however, there are always bugs to fix and customers to please. Corners are cut and design debt accumulates, ultimately resulting in legacy code – code without tests.
You would like to improve the software piecemeal using refactoring - which means improving the design of existing code without changing its behaviour. There is a Catch-22 here: to refactor safely, you need automated tests to ensure the code behaves the same as before. To add tests, you first have to make it modular by refactoring.
There still is hope! Through presentations, demonstrations, exercises, and a representative case, you will learn to identify smells, break dependencies, refactor, and add tests in messy legacy code, so that you can add new features with more ease and confidence.
The techniques taught in this course are also useful in greenfield projects, to prevent the software from turning into legacy code. They help you to recover quickly from mistakes and learn from them.
This course helps you get started and offers effective practices and courage to persevere.
Benefits
If you participate in this course, you will:
- apply a number of techniques to break unwanted dependencies in code
- know how to start making changes and adding tests simply and responsibly
- be able to find seams in code and use them to break dependencies
- understand the system dynamics of design debt
- experience prioritizing, planning, and executing a large refactoring in small steps with a team, on real, representative legacy code
- have fun! – we take pride in creating a fun and effective learning environment, mixing presentations with exercises and hands-on development.
Intended audience
Software developers, architects, technical team leads, Scrum masters, and agile coaches who seek to augment their refactoring knowledge, so that they are able to deliver clean(er) code more often.
Prerequisite knowledge and experience:
- Object Oriented concepts
- Basic knowledge of automated unit testing
Programme
Mastering Legacy Code consists of two intensive days of training.
The first day is introductory, with an overview of refactorings, code smells, and how to break dependencies by finding seams in the code. We will do this through a mix of presentations, demonstrations and small exercises. You will also learn about the systemic causes and effects of design debt and how refactoring in small steps can help you break out of a vicious cycle.
Day two is the hands-on day. In two parts we will plan and execute a large refactoring on a real-world legacy system. Participants are coached in applying what they have learnt: working on a large, messy legacy code base without getting lost, using the vocabulary of smells, refactorings, seams, and dependencies to co-ordinate, plan and execute a large refactoring with a team. And do so safely, even though in the beginning no automated tests are present.
We will use Java or C# for the examples and the practical exercises.
Blijf op de hoogte van nieuwe ervaringen
Deel je ervaring
Heb je ervaring met deze cursus? Deel je ervaring en help anderen kiezen. Als dank voor de moeite doneert Springest € 1,- aan Stichting Edukans.Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.