naming-and-structure
Naming and Structure
Full rubric: ${CLAUDE_PLUGIN_ROOT}/docs/principles/naming.md and
${CLAUDE_PLUGIN_ROOT}/docs/principles/functions.md. Findings from the commit gate cite these as naming/<rule> and
functions/<rule>, so what follows is what you should get right before the
gate ever sees the code.
Decide these while writing, not after
The name is the design. If you cannot name the function without "and", you have two functions. If the name needs a clarifying comment beside it, the name lost. Write the name first; when it comes out awkward, that is information about the structure, not about vocabulary.
Names must stay true. The costliest naming defect is not vagueness, it is a
name that says something false after a change — getUser that writes,
isValid that mutates, userList that is a set. Vague names waste a reader's
minute; wrong names send them the wrong way for an hour.