Inappropriate Intimacy

Signs and Symptoms

One class uses the internal fields and methods of another class.

Reasons for the Problem

Keep a close eye on classes that spend too much time together. Good classes should know as little about each other as possible. Such classes are easier to maintain and reuse.

Treatment

  • The simplest solution is to use Move Method and Move Field to move parts of one class to the class in which those parts are used. But this works only if the first class truly doesn’t need these parts.

Payoff

  • Improves code organization.
  • Simplifies support and code reuse.