A high degree of code churn isn’t a problem in and of itself. It’s more of a symptom, because code changes for a reason. Perhaps we have a feature area that’s poorly understood. Or maybe we just have a module with a low-quality implementation.
Given these reasons, it’s hardly surprising that code churn is a good predictor of defects. Let’s see how we can use that in our hotspot analyses.
Analyze Churn on an Architectural Level
In Chapter 10, Use Beauty as a Guiding Principle, we used temporal coupling to identify expensive change patterns in different architectures. We used the analysis results to detect modification patterns ...