💡 All articles
- Start cleaning your Legacy codebase with The Daily Refactoring Hour
Building the habit of small refactorings as you go will make a difference in the long run.
- 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.
- Convince managers to address Tech Debt with Enclosure Diagrams
How to come up with a plan that will resonate with non-technical people, in 7 concrete steps.
- Demine your codebase in 30min with Exploratory Refactoring
When you're stuck trying to understand some code, it pays off to spend some time with a different approach.
- 7 practices you should follow for a successful code handover
Code handovers are critical moments in the lifetime of a project. Make the most out of it with these advice.
- Reveal the structure of long methods with an online Word Counter
You don't need fancy tools to start making a dent on a scary method. Simply take a step back.
- A quick way to add tests when code has database or HTTP calls
You need to fix a bug, but you can't spend a week on it? Here's a technique to isolate problematic side-effects and write tests within minutes.
- Bring Legacy Code under tests by handling global variables
What's the best way to deal with these annoying global variables? Make them explicit.
- Earn future maintainers esteem by writing simple ADRs
With Legacy Code, there is never any good documentation. Hopefully, there's a simple way for you to stop that trend.
- Is it fine to use "AND" in a function name?
Finding a better name for a function is hard, especially when people have contradictory opinions on what a good name looks like…
- 5 talks on Legacy Code: The Legacy of SoCraTes, 1st edition
Tips and advice on dealing with Legacy Code from 5 great speakers at this remote conference I organized for the community.
- 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.
- Use the Mikado Method 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.