# Naming Cheatsheet

> Name code identifiers clearly and consistently. Use when naming or reviewing variables, functions, booleans, classes, files, modules, React hooks, event handlers, props callbacks, error values, and domain concepts; reducing ambiguity, duplicated context, contractions, or misleading singular/plural names. For larger code-quality review use code-reviewer.

- Skill: `flpbalada/naming-cheatsheet` (Agent Skill)
- Install (CLI): `npx skillmds@latest add flpbalada/naming-cheatsheet`
- Raw SKILL.md: https://api.skillmd.com/api/skills/flpbalada/naming-cheatsheet/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: flpbalada (https://skillmd.com/u/flpbalada)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/flpbalada/naming-cheatsheet

---


# Naming Cheatsheet

Use names that are short, intuitive, and descriptive.

## 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 `use` prefix for hooks.

## Function Pattern

```text
prefix? + action + high context + low context?
```

Examples:

- `getUser`
- `getUserMessages`
- `handleClickOutside`
- `shouldDisplayMessage`

## 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, like `isActive`.
- `has`: possession, like `hasItems`.
- `should`: condition plus action, like `shouldRender`.
- `can`: capability, like `canEdit`.

```ts
// Bad
const isProductsExist = products.length > 0

// Good
const hasProducts = products.length > 0
```

## React and Errors

- Use `useX` only for hooks.
- Event handlers: `handleX`.
- Props callbacks: `onX`.
- Factory functions need verbs: `createErrorResult`.
- `error`: `Error` instance.
- `errorMessage`: string.
- `errors`: list.

## Output

```md
## Naming Review

Identifier: [current name]
Issue: [unclear / inconsistent / too broad / wrong shape]
Better name: [new name]
Reason: [why]
Pattern: [action/context/boolean/boundary]
```

