As I explained in the introduction to the package design principles, all programmers develop a sense of “belonging together”. But next to this intuition with regard to cohesion, programmers also have a nose for coupling. Looking at a piece of code, they will be able to figure out what it is coupled to. As their careers progress, they will develop an ever stronger “coupling radar” by figuring out the actual dependencies of any piece of code.
Coupling: Discovering Dependencies
Looking at some code, you can ask yourself, on which other things does this code rely ...