Divide and Conquer with Architectural Hotspots
A divide-and-conquer strategy helps you split the code investigation into smaller tasks that are easier to reason about than the system as a whole. Let’s look at the general strategy before we dive into the practicalities of each step.
- Identify your architectural boundaries. Sometimes those boundaries are documented and, if you’re lucky, the documentation may even be correct. If not, you need to reverse-engineer those boundaries, and a good starting point is to base them on the folder structure of the codebase.
- Run a hotspot analysis on an architectural level. This lets you identify the subsystems with the most development effort and, as we’ll see later, visualize the complexity trend of a whole ...