بنقرة واحدة
naming-review
Review names for clarity principles. Find jargon, ambiguity, inconsistency.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Review names for clarity principles. Find jargon, ambiguity, inconsistency.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Read-only quality scan of components. Reports problems without making changes. Uses software-base + domain profile skills.
Refactoring patterns - improving code design without changing behavior
Read-only quality scan of components. Reports problems without making changes. Uses software-base + domain profile skills.
Internal phase: independent Codex review + targeted fixes. Not user-facing.
Find duplicated code and consolidate into shared utilities. Fixes all duplicates.
Reference templates for Codex evaluation. Used by build/improve orchestrators — not executed directly.
استنادا إلى تصنيف SOC المهني
| name | naming-review |
| description | Review names for clarity principles. Find jargon, ambiguity, inconsistency. |
Review names in code or configuration for clarity, consistency, and intent.
No arguments? Describe this skill and stop. Do not execute.
"Say what you mean, simply and directly."
In addition to clarity-style naming issues, flag these AI naming smells:
| Antipattern | Example | Problem |
|---|---|---|
| Enterprise suffixes | UserManager, DataHandler, ServiceHelper | Vague, adds no information |
| Unnecessary prefixes | IUserService, AbstractBase | Hungarian notation for types |
| Generic -er names | Processor, Handler, Manager | Says nothing about what it does |
| Impl suffixes | UserServiceImpl | Only one implementation exists |
| Over-qualified names | UserEntityDataModelObject | Afraid to commit to a name |
A name should say what it IS, not what category it belongs to.
Gather all names in scope:
Review each name against these criteria:
Names should describe behavior, not implementation.
| Bad | Good | Why |
|---|---|---|
processData() | validateUserInput() | Says what it actually does |
doStuff() | sendEmailNotification() | Specific action |
handle() | retryFailedPayment() | Reveals intent |
| Type | Pattern | Examples |
|---|---|---|
| Functions that DO | verb-noun | createUser, deleteFile, validateInput |
| Functions that ASK | is/has/can | isValid, hasPermission, canRetry |
| Classes/Types | noun | User, PaymentProcessor, FileReader |
| Booleans | is/has/should | isActive, hasErrors, shouldRetry |
Pick a pattern and stick to it across the codebase:
| Pattern | Stick With | Don't Mix |
|---|---|---|
| get/set | getUser, setUser | fetchUser, updateUser |
| create/delete | createOrder, deleteOrder | newOrder, removeOrder |
| start/stop | startJob, stopJob | beginJob, endJob |
| read/write | readFile, writeFile | loadFile, saveFile |
Names should be clear to someone new to the codebase.
| Jargon | Clear | Why |
|---|---|---|
canonReport | skillUsageReport | "Canon" is internal terminology |
ralphLoop | Keep if documented | Proper noun, acceptable if explained |
PSF | pageSortFilter | Abbreviations obscure meaning |
ctx | context | Don't abbreviate unnecessarily |
| Acceptable | Unacceptable |
|---|---|
id, url, html, api | usr, msg, btn, cfg |
max, min, avg | cnt, idx, tmp |
async, sync | db (use database) |
| Scope | Length | Example |
|---|---|---|
| Loop counter | 1 char | i, j, k |
| Local variable | short | user, count |
| Function parameter | medium | userId, filterOptions |
| Class field | descriptive | activeUserCount, lastLoginDate |
| Global/exported | very clear | MAX_RETRY_ATTEMPTS, defaultTimeoutMs |
Use consistent suffixes to signal behavior:
| Suffix | Meaning | Examples |
|---|---|---|
-scan | Read-only, reports | gemini-scan, qodana-scan |
-fix | Modifies, repairs | gemini-review, deduplication |
-check | Validates, returns bool | type-check, lint-check |
-report | Generates output | skill-usage-report |
-config | Configuration object | appConfig, dbConfig |
-handler | Event/request handler | errorHandler, clickHandler |
-factory | Creates instances | userFactory, connectionFactory |
| Prefix | Meaning | Examples |
|---|---|---|
is-, has-, can- | Boolean | isActive, hasError |
get-, fetch- | Retrieves data | getUser, fetchOrders |
set-, update- | Modifies data | setName, updateStatus |
create-, build- | Constructs new | createUser, buildQuery |
delete-, remove- | Destroys | deleteFile, removeItem |
on- | Event handler | onClick, onSubmit |
## Naming Review: [target]
### Summary
| Metric | Value |
|--------|-------|
| Names reviewed | N |
| Issues found | N |
| Patterns broken | N |
### Issues Found
#### Unclear Names 🔴
| Current | Problem | Suggested |
|---------|---------|-----------|
| `processData()` | Vague verb | `validateUserInput()` |
| `handle()` | Says nothing | `routeHttpRequest()` |
#### Jargon/Abbreviations 🟠
| Current | Problem | Suggested |
|---------|---------|-----------|
| `getPSF()` | Abbreviation | `getPageSortFilter()` |
| `canonPath` | Insider jargon | `skillLibraryPath` |
#### Inconsistent Patterns 🟡
| Pattern A | Pattern B | Recommendation |
|-----------|-----------|----------------|
| `getUser` | `fetchOrder` | Standardize on `get-` |
| `createFile` | `newDirectory` | Standardize on `create-` |
#### Wrong Part of Speech 🟡
| Current | Problem | Suggested |
|---------|---------|-----------|
| `validation()` | Noun for action | `validate()` |
| `active` (function) | Adjective for action | `isActive()` or `activate()` |
### Patterns Detected
- [x] Consistent get/set usage
- [ ] Mixed create/new usage
- [x] Boolean prefixes (is/has)
- [ ] Unclear abbreviations
### Recommendations
1. **Standardize on `create-`** — Replace `new-` prefix with `create-`
2. **Expand abbreviations** — `cfg` → `config`, `msg` → `message`
3. **Add verb to vague names** — `data()` → `fetchData()` or `processData()`
---
NAMES_REVIEWED: N
ISSUES_FOUND: N
NAMING_REVIEW_COMPLETE: yes