Apart from an expressive or meaningful name, a brief description of its responsibility belongs to the really important aspects of the building block view.

  • Names can become quite clear if they somehow refer to requirements fulfilled by the corresponding blackbox.
  • Describe “what” the blackbox does or performs, avoid describing the “how”.
  • Especially in lower levels of the building block hierarchy, single blackboxes fulfill part of the responsibility of some higher-level building block.
  • Keep this description brief and compact, one or two sentences at most. Having too many “and” in such descriptions can be a sign of a missing abstraction.

Naming things belongs to the two hardest things in Computer Science - apart from cache invalidation and off-by-one-errors.