How do you analyze a very large Legacy codebase?
If you're using a Version Control System (VCS), you're sitting on a gold mine! You can leverage it to get useful insights from any codebase, based on how people interact with it.
This approach has been detailed by Adam Tornhill in his books:
There are many information you can get from Behavioral Analysis:
- Identify Hotspots and prioritize Tech Debt
- Find actual code duplication
- Proactively detect potential bugs, based on empirical behavior
- Prioritize knowledge transfer
- Spot coordination bottlenecks
- Find misalignments between your organization and software architecture
🎓 Related 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!
- 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.
- 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.
- 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.
Written by Nicolas Carlo who lives and works in Montreal, Canada 🍁
He founded the Software Crafters Montreal community which cares about building maintainable softwares.