How do you feel about your codebase?
Worried, because you don't know if you'll break anything once you release this change you've been working on for a week already.
Exhausted, because everything is such a tangled mess that you spend hours looking through 20 classes nesting and calling each other just to figure out what happens when you check or uncheck a checkbox.
Confused, because you're not sure the code you're reading is even used.
Pissed, because it takes weeks before you feel safe making any changes, and months before you start feeling "at home" in the code. Finally, you are tasked to fix a bug on a different part of the codebase: the nightmare starts over again.
I wish I'd been given more time to refactor this code!
But you have short deadlines. Because the focus is always on cost and time. Because users don't care your eyes bleed while reading the code.
Your boss doesn't understand why it takes you longer and longer to finish tasks.
You want to refactor. But would you risk the deadline? So you pile up on Technical Debt, looking for a workaround that would get the job done while making the code worse.
You know Clean Code would be a breeze to work with… but you don't know where to start, and you certainly don't have enough time to get there.
Imagine cleaning up Legacy Code as you go.
If you know the moves, you can give your code first aid that will stop its hemorrhage. Imagine how proud and relieved you will feel as you put it back into a healthier shape.
Refactoring would become second nature to you. Your reflexes will make you clean up Legacy Code in no time! You'll consistently meet clients' expectations and delight your peers.
You can start making this codebase a better place — the next time you touch it.
When you have short deadlines, trying to refactor the code is a risky move… unless you know exactly what you're doing.
The Legacy Code: First Aid Kit is coming soon.
I'm building a toolbox of techniques that will help you get your Legacy Code under control.
You'll learn how to concretely start turning a codebase into a testable, easy-to-read, well-designed system — while shipping features and fixes 😉🍷