Rule: choose concise, semantically accurate, and responsibility-respecting names for identifiers (variables, functions, classes, modules). Motivation: clear names reduce cognitive load, avoid ambiguity, and prevent leaking responsibilities across layers.

Guidelines:

Code examples:

Application checklist for reviewers:

  1. Ask: Is any word redundant given the type or context? Remove it. (e.g., _plugin, _categorical)
  2. Ask: Does the name indicate the value’s type/unit/semantics? If not, clarify (e.g., quantile, is, count_).
  3. Ask: Is responsibility leaking into this identifier? Move UI/label/instance concerns out of logical classes.
  4. Verify consistency across modules (e.g., scores vs metrics) and pick a single internal term.

References: discussion indices [0,1,3,4,6,7,8,10,11,12,13].