- Approval Testing
Techniques to quickly put Legacy Code under tests, so you can refactor it safely.
- Focus refactoring on what matters with Hotspots Analysis
Here's a way to prioritize refactoring when you have to deal with a large, unmaintainable codebase.
- Don't make Clean Code harder to maintain, use the Rule of Three
If you worry that following clean code practices create more code to maintain, here's a way out.
- Are functions that simply call another function a bad design choice?
Let's see how you end up with these while trying to refactor Legacy Code and what you can do about that.
- What is wrong with boolean parameters?
And 4 ways to fix their usage in Legacy Code.
- 5 coding exercises to practice refactoring Legacy Code
Feeling overwhelmed by your legacy codebase? These katas will help you learn how to tackle it.
- Dive into an unfamiliar codebase from its edges
Do you feel paralyzed, wondering how to approach a legacy codebase? Try to start from the system edges.
- The key points of Working Effectively with Legacy Code
This book is a reference. Here's my summary of its salient points so you understand why it's so recommended.
- 5 arguments to make managers care about technical debt
If you think that management wouldn't let you refactor Legacy Code, use these 5 arguments to convince them.
- Avoid rewriting a legacy system from scratch, by strangling it
When an application becomes impossible to maintain, a rewrite is very tempting. But it could make things worse.
- Is it up to the newer developer to pay back others' technical debt?
And what you can do about it if you find yourself in such situation.
- A simple technique to do safe changes in a complex codebase
When a codebase is large and complex, it's risky to big changes. Here's a structured way to approach the problem.
- 3 steps to add tests on existing code when you have short deadlines
Here's a recipe you can follow when you want to add tests on Legacy Code, but you don't have much time to do so.
- What is Legacy Code? Is it code without tests?
Here's a useful definition of "Legacy Code" you can refer to.