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.

  1. 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.
  2. 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 ...

Get Software Design X-Rays now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.