The backbone of surprise is fusing speed with secrecy.

Carl von Clausewitz

Chapter 3Coupling in Time: A Heuristic for the Concept of Surprise

In this chapter we explore a concept called change coupling. You’ll see how change coupling helps us design better software as we uncover expensive change patterns in our code. You’ll also learn to uncover subtle relationships across clusters of files by analyzing change patterns between functions located in different files. This gives us a powerful strategy for iteratively improving our design based on feedback from how we work with the code.

As always, we’ll study the techniques on a real-world codebase to identify real problems. We’ll continue to explore ASP.NET Core MVC. We’ll also see that change ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.