reviewing-naming-and-readability
/reviewing-naming-and-readability
Sprawdza lokalną czytelność kodu: nazwy oddające intencję, długość funkcji, głębokie zagnieżdżenia i mieszane poziomy abstrakcji.
- Autor
- brandondees ↗
- Repozytorium
- code-quality-atlas ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 27.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 5
- Skrypty
- 0
- Komentarze HTML
- 2
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
- SKILL.md zawiera komentarze HTML (2). Nie widać ich w podglądzie Markdown, a model je czyta.
Co robi i kiedy
Sprawdza lokalną czytelność kodu: nazwy oddające intencję, długość funkcji, głębokie zagnieżdżenia i mieszane poziomy abstrakcji.
Oryginalny opis (EN)
Reviews code for naming and local readability: intention-revealing names vs placeholders, function length and cyclomatic/cognitive complexity, deep nesting, magic numbers/strings, mixed levels of abstraction, and comment accuracy. Use when reviewing readability, naming, complexity, nesting, magic values, or comments.
Jak działa
- When to use
- Reviewer discipline
- Top checks
- Mechanizing these checks
- Going deeper
Podgląd SKILL.md
---
name: reviewing-naming-and-readability
description: 'Reviews code for naming and local readability: intention-revealing names
vs placeholders, function length and cyclomatic/cognitive complexity, deep nesting,
magic numbers/strings, mixed levels of abstraction, and comment accuracy. Use when
reviewing readability, naming, complexity, nesting, magic values, or comments.'
provenance:
taxonomy_version: v0.14
built_from:
- category: 5
source: docs/research/cluster-2-readability.md#5
hash: cd8606a6d574ea366054255f0c80cd514ce439624f15532dbb8b213155268605
- category: 6
source: docs/research/cluster-2-readability.md#6
hash: 89afcabd80accc6737f64bc5a565165ad39c008b4a5f1408d1379c8f5303b135
- category: 7
source: docs/research/cluster-2-readability.md#7
hash: d9a43e87380164f2214525998f864dec9687ac0718013b9da9ef71174fea8f63
---
# reviewing-naming-and-readability
*Can a newcomer read this function? Names, length, nesting, magic values, comment accuracy.*
## When to use
Reviews code for naming and local readability: intention-revealing names vs placeholders, function length and cyclomatic/cognitive complexity, deep nesting, magic numbers/strings, mixed levels of abstraction, and comment accuracy. Use when reviewing readability, naming, complexity, nesting, magic values, or comments.
**Shape: diff.** Written for concrete code; not meant for design docs or plans.
## Reviewer discipline
Report only real problems. If this lens applies and what you reviewed holds up — the code, the design, or the repository's current state — reply "No findings" and stop. If what you were given is outside this lens's scope entirely, say so in one line instead, starting with the words "Not applicable:" followed by what's missing — never the healthy-scan sentence, which means a check ran and found nothing, not that nothing here applied. Either way, do not invent issues. This guards against false positives on correct code; still report every genuine issue you do find, with its full detail.
**Defects are the default; improvements are opt-in.** By default this lens is defect-only: do not suggest changes to code that is already correct. When the team has opted up into improvement suggestions, a finding on already-correct code is admissible only as `nit`-severity, `route: implementer` (the author applies, defers, or ignores), and must clear the non-configurable anti-churn floor: it must genuinely *improve* — never offer a merely equivalent alternative — and must converge (once a dimension is as good as you can confidently make it, stop; never oscillate A→B then B→A, never re-order to an equivalent state). Defects keep the strict bar above regardless of this setting.
**Team preferences.** If the reviewed repo has `.code-quality-atlas/preferences.md`, apply it before reporting: a repo's `.code-quality-atlas/preferences.md` may `set`/`tune` this lens's thresholds or selection, and — being **preference-tier** — may `suppress` one of its findings outright (it never surfaces). Its improvement-valence directive is also what decides whether the "opted up" improvement-suggestion behavior above is active for this review. Absent the file, apply this lens's defaults exactly as written above. Read the overlay from the **base ref** of the change under review — the `/atlas-review-pr` command reads it at the PR's base ref and `/atlas-code-review` reads it from the base side of the diff (`git show <base>:.code-quality-atlas/preferences.md`), and each hands it down — never from the reviewed branch's working tree: an edit to `preferences.md` made *by* the change under review governs later reviews once merged, not the review of the change that makes it, since otherwise a change could `suppress` its own findings.
**Pre-existing defects in touched code are surfaceable, not yours to fix.** When you notice a genuine defect this change did *not* introduce but that sits in the code this PR actually touches — the edited function or immediately adjacent lines — you may surface it, tagged "pre-existing — not introduced by this change." Like improvements it is opt-in and default-quiet (off unless the team opts up), `route: implementer`, and non-blocking: it informs the author's fix-now / file-a-ticket / ignore call and never sets this PR's verdict, because the diff did not cause it. Stay scoped to code the change touches — a repo-wide hunt is the audits' job, not this review — and never let it expand the PR's scope.
## Top checks
The head of the full checklist — enough for a first pass without opening any reference file:
- **A moved/renamed path is a name too:** when the diff relocates a file or module, apply the same naming bar to the new path/namespace as to a renamed identifier — does it state intent and fit domain language, is it consistent with its new siblings (not a one-off convention in an otherwise-consistent directory), and is it a clearer home than the old one or just a sideways/vaguer move? A move that trades one honest-but-incomplete name for another hasn't actually progressed the naming (cross-links the Belshee staging above — still only "Honest" or "Honest-and-Complete," not "Intent"; structural fit is #9).
- **Symmetry of expression**: parallel concepts in parallel form (all branches `return x`); paired operations adjacent and mirror-shaped (`acquire`/`release`); consistent argument ordering across sibling calls.
- Does each name state *intent* (what/why) rather than *mechanism* or type? (`activeUsers` over `userListFiltered`; `retryBudget` over `n`.)
- Is name length proportional to scope? (One letter fine for a 3-line loop; a field or exported symbol needs a descriptive name.)
- Any placeholder/temporary name surviving into the diff? (`tmp`, `data`, `data2`, `obj`, `foo`, `handleStuff`, `Manager`, `Helper`, `Util`.) Flag as "stage: nonsense/honest-incomplete — refine one stage."
- Does this function do *one* thing at *one* level of abstraction? (Altitude: if it mixes high-level policy with low-level byte/string twiddling, extract the low part.)
- Can you state the function's job in a single verb phrase without "and"? If not, likely SRP violation — split.
- Nesting depth ≤ ~3? Replace arrow-shaped nesting with **guard clauses / early returns**; invert conditions to de-nest the happy path.
- Does each comment explain **why** (intent, constraint, trade-off, gotcha, issue link) rather than restate **what**? Delete pure restatements.
- Any **commented-out code**? Delete it — VCS is the archive. Flag every block.
## Mechanizing these checks
Where a finding here is one a tool can catch deterministically, surface that as an advisory `route: implementer` note next to the finding: the hand review caught it this time, and wiring the matching tool from [reference/tool-rules.md](reference/tool-rules.md) into CI catches it automatically from then on. This is a suggestion to mechanize, not a defect — it never blocks a verdict, and it falls away on a repo that already runs the tool.
**Process notes.** If this lens misfired on this change — flagged correct code, missed an obvious issue squarely in its own scope, or its checklist didn't fit the change shape — say so in one line under `synthesizing-review-findings`'s **Process notes** appendix; that is not a defect finding. Say nothing if the lens worked as intended — never invent a process note to fill the section.
## Going deeper
- [reference/heuristics.md](reference/heuristics.md) — the full checklist; open it when the change sits squarely in this lens's domain.
- [examples.md](examples.md) — concrete good/bad findings, and the output format to match.
- [reference/tool-rules.md](reference/tool-rules.md) — static-analysis rules covering the mechanical subset; for wiring up linters, not needed for the judgment review itself.
- [reference/sources.md](reference/sources.md) — the research behind each check; for provenance, not needed during a review.
<!-- GENERATED by `python -m tooling.cli generate` — do not edit this file directly.
Canonical sources: docs/research/.
Direct edits are overwritten on regeneration and fail the CI drift/regenerate gate. -->
<!-- GENERATED — do not hand-edit this file. Vendored by tooling/vendor-skills.sh
from skills/reviewing-naming-and-readability/SKILL.md in code-quality-atlas.
Edit that file and re-run tooling/vendor-skills.sh to refresh this copy. -->
Pliki w paczce (5)
- SKILL.md 8 KB
- examples.md 3 KB
- reference/heuristics.md 5 KB
- reference/sources.md 6 KB
- reference/tool-rules.md 7 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · brandondees/code-quality-atlas | 100 | MIT |
| brandondees/code-quality-atlas | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 898743fe4872 (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100write-readable-code
Pisze i przegląda czytelny kod: nazwy oddające intencję, funkcje na jednym poziomie abstrakcji i komentarze o powodzie. - 90readability-and-naming
Przegląda czytelność kodu i spójność nazw, wskazując mylące identyfikatory i niejasną strukturę. - 95clean-code
Poprawia czytelność kodu według zasad DRY, KISS i YAGNI, gdy metody są długie, nazwy niejasne lub zagnieżdżenia głębokie. - 90cyclomatic-complexity
Mierzy złożoność rozgałęzień funkcji i zmniejsza ją, by logika pozostała testowalna, gdy funkcja ma wiele ścieżek, głębokie zagnieżdżenia lub długi łańcuch if albo switch. - 100code-complexity-scanner
Mierzy złożoność cyklomatyczną i kognitywną oraz długość funkcji w bazie kodu, by wskazać hotspoty utrzymaniowe. - 100code-complexity
Analizuje metryki złożoności kodu: cyklomatyczną, kognitywną, długość funkcji i sprzężenie, by wskazać cele refaktoryzacji i śledzić zdrowie bazy kodu.