We started this chapter by discussing modules that keep changing together. We learned that they make maintenance harder, cost more, and open us up to more mistakes.
After that, we saw how our brain does its best to deceive us when it comes to remembering such complex, detailed information. Just as crime investigators have techniques to reduce bias, so do we. That’s why we introduced the concept of temporal coupling as a way to interview our codebase about its past.
You learned that temporal coupling lets you detect hidden, implicit dependencies in your system and got ideas on why those dependencies might show up. You can use that information as objective data to guide your refactorings and redesigns.
With the theory fresh in our minds, let’s move on and perform a temporal coupling analysis on our code.