I thought the following statement should be entirely uncontroversial…. (but after a noisy disagreement I find it is…)
If class A depends on class B, then if at a later date a requirement arises for class C to use class B (as-is where-is), then if you have to alter a single bit of class A, your design was flawed.
What am I missing? I’m happy to generalize “class” in this statement to header file, module, package, service, …
Under what circumstances would this statement not be true?