Getting into a large codebase
When you have to dive into a large codebase, it's challenging to know when to start.
Feeling overwhelmed is normal. Most of the time, the original developers are long gone, there's no or poor documentation and let's not talk about tests…
Here are a few approaches to make sense out of Legacy Code.
🎓 Related articles
- It's like coding in the dark!
A look into Catherine Hicks' white paper "It’s Like Coding in the Dark: The need for learning cultures within coding teams" (Catharsis Consulting).
- 7 advice to help you inherit a legacy codebase
My recap of the most common and useful advice one can give to tackle Legacy codebases.
- Design Patterns, Empathy, and Reading Complex Code
4 great talks on Legacy Code that I had the pleasure to host. A focus on empathy and getting into complex codebases.
- Technical Debt, Rewrites, and Refactoring
5 great talks on Legacy Code that I had the pleasure to host. Learn how to prioritize Tech Debt and rewrite systems incrementally.
- Safely restructure your codebase with Dependency Graphs
Even drawing them by hand can help you make sense of a tangled codebase! Let's see how they can help, and what tools you can use to generate these.
- The key points of The Legacy Code Programmer's Toolbox
This book is full of tips to get into an unfamiliar codebase. Here's my summary of its salient points.
- 4 developers working their way through Legacy Code
Practice working with code you've never seen before helps make it easier. Here's my selection of videos that will expose you to seasoned developers doing that!
- 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.
- 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.
- 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.
- 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.
- 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.
Written by Nicolas Carlo who lives and works in Montreal, Canada 🍁
He founded the Software Crafters Montreal community which cares about building maintainable softwares.