📝Deep/shallow modules

tags
§ Software Design
source
Ousterhout2018

To work on any code, you need to keep in head the code in question and interfaces of all dependencies. Therefore, if dependencies have small interface and doing a ton of work, that helps. Interface complexity is cost, and functionality is benefit.

Good modules should be deep. They allow a lot of functionality to be accessed through a simple interface.

See also:

Backlinks