Detect Cochanging Files

The thresholds serve to limit the amount of change coupling we need to inspect. Even with those thresholds we may find a lot of change coupling in a system. That means we need a way to filter the results and focus on the parts that are most likely to illustrate flawed designs and true technical debt.

My favorite heuristic is the concept of surprise. That is, you want to look for surprising patterns when investigating change coupling. There are two reasons for using surprise as a starting point:

  1. Surprise is one of the most expensive things you can put into a software architecture. In particular, the poor maintenance programmer coming after us is likely to suffer the consequences of any surprising change pattern we’ve left ...

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.