Use names that are short, intuitive, and descriptive.
When to Use
- Naming variables, functions, classes, files, or modules
- Reviewing code names
- Refactoring unclear identifiers
Goal
Make code read naturally. Reduce ambiguity. Keep names consistent.
Rules
- Use English.
- Follow project convention.
- Avoid contractions and made-up words.
- Avoid duplicated context.
- Match singular/plural to value shape.
- Name booleans by expected truth.
- Reserve React
useprefix for hooks.
Function Pattern
prefix? + action + high context + low context?
Examples:
getUsergetUserMessageshandleClickOutsideshouldDisplayMessage
Actions
get: read or fetch data.set: assign next value.reset: restore initial state.add/remove: collection changes.create/delete: entity lifecycle.compose/build: create value from values.handle: respond to event.
Boolean Prefixes
is: state, likeisActive.has: possession, likehasItems.should: condition plus action, likeshouldRender.can: capability, likecanEdit.
// Bad
const isProductsExist = products.length > 0
// Good
const hasProducts = products.length > 0
React and Errors
- Use
useXonly for hooks. - Event handlers:
handleX. - Props callbacks:
onX. - Factory functions need verbs:
createErrorResult. error:Errorinstance.errorMessage: string.errors: list.
Output
## Naming Review
Identifier: [current name]
Issue: [unclear / inconsistent / too broad / wrong shape]
Better name: [new name]
Reason: [why]
Pattern: [action/context/boolean/boundary]