Implementing the Holbrook Limit: Modules

The best way to respect the Holbrook Limit is to explicitly divide the system codebase into units, typically stored as a diskfile, and to mechanically verify at compile time that they obey the limit.

Modern languages such as SML refer to such units as modules, and provide an explicit support infrastructure for them called the module system. In SML, the module system comprises about one-half the complexity of the language and implementation. The module system makes syntactically and semantically explicit:

The psychological complexity of a module is proportional to the number of lines of code in the module itself, plus the psychological complexity of the imported interfaces.

To keep a system piecewise comprehensible as a whole, the psychological complexity of each individual module must be below the Holbrook Limit.



Back to Comprehensible Computing.


Cynbe ru Taren
Last modified: Wed Feb 16 12:11:02 CST 2005