Write shy code - modules that don't reveal anything unnecessary to other modules and that don't rely on other modules' implementations

— Dave Thomas, The Pragmatic Programmer: From Journeyman to Master (Andrew Hunt and David Thomas) (1999)

Topics: programming, software design