⛑ I'm building up a kit to help you rescue your codebase!
When I say "Legacy Code" I mean valuable code you're afraid to change.
We all have to deal with Legacy Code. But it's damn hard to!
Here you'll find answers to your questions. I'm sharing useful tips and concrete advice that will help you tame the legacy codebase you've inherited.
📖 Helpful Guides
- Getting into a large codebase
Diving into a large, undocumented codebase is overwhelming. Let's see some techniques to approach it.
- Is it a best practice or a code smell?
Not sure if a pattern will make the code more maintainable? Here are a few resources that will help.
- Changing untested code without breaking it
Without tests, every code change is risky. But how to put tests on a code that wasn't design for it?
- Code feels impossible to maintain
Sometimes, you seem to hit a point of no return and that the best strategy would be to burn it all and start over. Are there alternatives?
- Making others care about it
What you can do when it seems that no-one cares about the technical debt that's piling up.
🥋 Specific techniques
- Approval Testing
A technique to quickly put tests on Legacy Code, so you can refactor safely.
- Behavioral Analysis
A technique to get insights from large codebases, using VCS information.
💡 Latest articles
- Identify who to ask for help with Knowledge Maps
Learn to draw a Knowledge Map of your codebase within minutes, and find out who owns what!
- Quickly improve code readability with Proximity Refactorings
Here's a technique that leverages how your brain works to make any code easier to work with.
- The key points of Software Design X-Rays
This book is a gold mine. Yet, it's not a famous one. Here's my summary of its salient points that can help you deal with large codebases.
- 7 techniques to regain control of your Legacy codebase
Working with Legacy Code is no fun… unless you know how to approach it and get your changes done, safely.
- If you mock, are you even testing?
Is this the real code? Is this just fantasy? Let's discuss the problem with unit testing Legacy Code and an approach you can take.
- If you want more, check all my published articles