Episode 2 — React Frontend Architecture NextJS / 2.9 — Custom Hooks and Reusable Logic
2.9.d — Maintainability: naming, structure, and testing hooks
Learning outcomes
- Name hooks so grep and onboarding win.
- Choose object vs tuple return APIs deliberately.
- Test hooks with
renderHookand MSW where appropriate.
Naming
useUserSessionnotuseStuff- Prefer verb+noun for actions:
useSignOut,useUploadAvatar
Return shape
Objects scale better as fields grow:
return { data, error, refetch };
Tuples (return [x, setX]) are fine for tiny hooks (useToggle) but document order.
Testing
Use @testing-library/react renderHook (or React test utils per version) to assert state transitions without mounting full pages for every branch.
Appendix — Scenario bank (basic → advanced)
Flashcard: symptom → cause → fix → interview phrase.
CH3-001 — Maintainability #1
- Level: Beginner
- Symptom: duplicate
useEffectblocks across13screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-002 — Maintainability #2
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across26screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-003 — Maintainability #3
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across39screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-004 — Maintainability #4
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across52screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-005 — Maintainability #5
- Level: Advanced
- Symptom: duplicate
useEffectblocks across65screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-006 — Maintainability #6
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across78screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-007 — Maintainability #7
- Level: Beginner
- Symptom: duplicate
useEffectblocks across91screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-008 — Maintainability #8
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across104screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-009 — Maintainability #9
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across117screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-010 — Maintainability #10
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across130screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-011 — Maintainability #11
- Level: Advanced
- Symptom: duplicate
useEffectblocks across143screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-012 — Maintainability #12
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across156screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-013 — Maintainability #13
- Level: Beginner
- Symptom: duplicate
useEffectblocks across169screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-014 — Maintainability #14
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across182screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-015 — Maintainability #15
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across195screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-016 — Maintainability #16
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across8screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-017 — Maintainability #17
- Level: Advanced
- Symptom: duplicate
useEffectblocks across21screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-018 — Maintainability #18
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across34screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-019 — Maintainability #19
- Level: Beginner
- Symptom: duplicate
useEffectblocks across47screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-020 — Maintainability #20
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across60screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-021 — Maintainability #21
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across73screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-022 — Maintainability #22
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across86screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-023 — Maintainability #23
- Level: Advanced
- Symptom: duplicate
useEffectblocks across99screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-024 — Maintainability #24
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across112screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-025 — Maintainability #25
- Level: Beginner
- Symptom: duplicate
useEffectblocks across125screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-026 — Maintainability #26
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across138screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-027 — Maintainability #27
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across151screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-028 — Maintainability #28
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across164screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-029 — Maintainability #29
- Level: Advanced
- Symptom: duplicate
useEffectblocks across177screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-030 — Maintainability #30
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across190screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-031 — Maintainability #31
- Level: Beginner
- Symptom: duplicate
useEffectblocks across3screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-032 — Maintainability #32
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across16screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-033 — Maintainability #33
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across29screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-034 — Maintainability #34
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across42screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-035 — Maintainability #35
- Level: Advanced
- Symptom: duplicate
useEffectblocks across55screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-036 — Maintainability #36
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across68screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-037 — Maintainability #37
- Level: Beginner
- Symptom: duplicate
useEffectblocks across81screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-038 — Maintainability #38
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across94screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-039 — Maintainability #39
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across107screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-040 — Maintainability #40
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across120screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-041 — Maintainability #41
- Level: Advanced
- Symptom: duplicate
useEffectblocks across133screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-042 — Maintainability #42
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across146screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-043 — Maintainability #43
- Level: Beginner
- Symptom: duplicate
useEffectblocks across159screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-044 — Maintainability #44
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across172screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-045 — Maintainability #45
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across185screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-046 — Maintainability #46
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across198screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-047 — Maintainability #47
- Level: Advanced
- Symptom: duplicate
useEffectblocks across11screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-048 — Maintainability #48
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across24screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-049 — Maintainability #49
- Level: Beginner
- Symptom: duplicate
useEffectblocks across37screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-050 — Maintainability #50
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across50screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-051 — Maintainability #51
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across63screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-052 — Maintainability #52
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across76screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-053 — Maintainability #53
- Level: Advanced
- Symptom: duplicate
useEffectblocks across89screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-054 — Maintainability #54
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across102screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-055 — Maintainability #55
- Level: Beginner
- Symptom: duplicate
useEffectblocks across115screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-056 — Maintainability #56
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across128screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-057 — Maintainability #57
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across141screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-058 — Maintainability #58
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across154screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-059 — Maintainability #59
- Level: Advanced
- Symptom: duplicate
useEffectblocks across167screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-060 — Maintainability #60
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across180screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-061 — Maintainability #61
- Level: Beginner
- Symptom: duplicate
useEffectblocks across193screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-062 — Maintainability #62
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across6screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-063 — Maintainability #63
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across19screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-064 — Maintainability #64
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across32screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-065 — Maintainability #65
- Level: Advanced
- Symptom: duplicate
useEffectblocks across45screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-066 — Maintainability #66
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across58screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-067 — Maintainability #67
- Level: Beginner
- Symptom: duplicate
useEffectblocks across71screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-068 — Maintainability #68
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across84screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-069 — Maintainability #69
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across97screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-070 — Maintainability #70
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across110screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-071 — Maintainability #71
- Level: Advanced
- Symptom: duplicate
useEffectblocks across123screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-072 — Maintainability #72
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across136screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-073 — Maintainability #73
- Level: Beginner
- Symptom: duplicate
useEffectblocks across149screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-074 — Maintainability #74
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across162screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-075 — Maintainability #75
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across175screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-076 — Maintainability #76
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across188screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-077 — Maintainability #77
- Level: Advanced
- Symptom: duplicate
useEffectblocks across1screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-078 — Maintainability #78
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across14screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-079 — Maintainability #79
- Level: Beginner
- Symptom: duplicate
useEffectblocks across27screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-080 — Maintainability #80
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across40screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-081 — Maintainability #81
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across53screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-082 — Maintainability #82
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across66screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-083 — Maintainability #83
- Level: Advanced
- Symptom: duplicate
useEffectblocks across79screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-084 — Maintainability #84
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across92screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-085 — Maintainability #85
- Level: Beginner
- Symptom: duplicate
useEffectblocks across105screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-086 — Maintainability #86
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across118screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-087 — Maintainability #87
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across131screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-088 — Maintainability #88
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across144screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-089 — Maintainability #89
- Level: Advanced
- Symptom: duplicate
useEffectblocks across157screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-090 — Maintainability #90
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across170screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-091 — Maintainability #91
- Level: Beginner
- Symptom: duplicate
useEffectblocks across183screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-092 — Maintainability #92
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across196screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-093 — Maintainability #93
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across9screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-094 — Maintainability #94
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across22screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-095 — Maintainability #95
- Level: Advanced
- Symptom: duplicate
useEffectblocks across35screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-096 — Maintainability #96
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across48screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-097 — Maintainability #97
- Level: Beginner
- Symptom: duplicate
useEffectblocks across61screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-098 — Maintainability #98
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across74screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-099 — Maintainability #99
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across87screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-100 — Maintainability #100
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across100screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-101 — Maintainability #101
- Level: Advanced
- Symptom: duplicate
useEffectblocks across113screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-102 — Maintainability #102
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across126screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-103 — Maintainability #103
- Level: Beginner
- Symptom: duplicate
useEffectblocks across139screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-104 — Maintainability #104
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across152screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-105 — Maintainability #105
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across165screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-106 — Maintainability #106
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across178screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-107 — Maintainability #107
- Level: Advanced
- Symptom: duplicate
useEffectblocks across191screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-108 — Maintainability #108
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across4screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-109 — Maintainability #109
- Level: Beginner
- Symptom: duplicate
useEffectblocks across17screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-110 — Maintainability #110
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across30screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-111 — Maintainability #111
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across43screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-112 — Maintainability #112
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across56screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-113 — Maintainability #113
- Level: Advanced
- Symptom: duplicate
useEffectblocks across69screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-114 — Maintainability #114
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across82screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-115 — Maintainability #115
- Level: Beginner
- Symptom: duplicate
useEffectblocks across95screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-116 — Maintainability #116
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across108screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-117 — Maintainability #117
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across121screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-118 — Maintainability #118
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across134screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-119 — Maintainability #119
- Level: Advanced
- Symptom: duplicate
useEffectblocks across147screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-120 — Maintainability #120
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across160screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-121 — Maintainability #121
- Level: Beginner
- Symptom: duplicate
useEffectblocks across173screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-122 — Maintainability #122
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across186screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-123 — Maintainability #123
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across199screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-124 — Maintainability #124
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across12screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-125 — Maintainability #125
- Level: Advanced
- Symptom: duplicate
useEffectblocks across25screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-126 — Maintainability #126
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across38screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-127 — Maintainability #127
- Level: Beginner
- Symptom: duplicate
useEffectblocks across51screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-128 — Maintainability #128
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across64screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-129 — Maintainability #129
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across77screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-130 — Maintainability #130
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across90screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-131 — Maintainability #131
- Level: Advanced
- Symptom: duplicate
useEffectblocks across103screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-132 — Maintainability #132
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across116screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-133 — Maintainability #133
- Level: Beginner
- Symptom: duplicate
useEffectblocks across129screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-134 — Maintainability #134
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across142screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-135 — Maintainability #135
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across155screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-136 — Maintainability #136
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across168screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-137 — Maintainability #137
- Level: Advanced
- Symptom: duplicate
useEffectblocks across181screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-138 — Maintainability #138
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across194screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-139 — Maintainability #139
- Level: Beginner
- Symptom: duplicate
useEffectblocks across7screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-140 — Maintainability #140
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across20screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-141 — Maintainability #141
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across33screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-142 — Maintainability #142
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across46screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-143 — Maintainability #143
- Level: Advanced
- Symptom: duplicate
useEffectblocks across59screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-144 — Maintainability #144
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across72screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-145 — Maintainability #145
- Level: Beginner
- Symptom: duplicate
useEffectblocks across85screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-146 — Maintainability #146
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across98screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-147 — Maintainability #147
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across111screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-148 — Maintainability #148
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across124screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-149 — Maintainability #149
- Level: Advanced
- Symptom: duplicate
useEffectblocks across137screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-150 — Maintainability #150
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across150screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-151 — Maintainability #151
- Level: Beginner
- Symptom: duplicate
useEffectblocks across163screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-152 — Maintainability #152
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across176screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-153 — Maintainability #153
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across189screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-154 — Maintainability #154
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across2screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-155 — Maintainability #155
- Level: Advanced
- Symptom: duplicate
useEffectblocks across15screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-156 — Maintainability #156
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across28screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-157 — Maintainability #157
- Level: Beginner
- Symptom: duplicate
useEffectblocks across41screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-158 — Maintainability #158
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across54screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-159 — Maintainability #159
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across67screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-160 — Maintainability #160
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across80screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-161 — Maintainability #161
- Level: Advanced
- Symptom: duplicate
useEffectblocks across93screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-162 — Maintainability #162
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across106screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Cross-feature imports creating cycles.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-163 — Maintainability #163
- Level: Beginner
- Symptom: duplicate
useEffectblocks across119screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Inconsistent error handling across hooks.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-164 — Maintainability #164
- Level: Beginner+
- Symptom: duplicate
useEffectblocks across132screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Barrel exports re-export everything slowing IDE.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-165 — Maintainability #165
- Level: Intermediate
- Symptom: duplicate
useEffectblocks across145screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Testing only snapshots of giant components instead of hook contracts.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-166 — Maintainability #166
- Level: Intermediate+
- Symptom: duplicate
useEffectblocks across158screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Dead hooks never deleted after feature removal.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-167 — Maintainability #167
- Level: Advanced
- Symptom: duplicate
useEffectblocks across171screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: Hook undocumented; return tuple order memorized wrongly.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.
CH3-168 — Maintainability #168
- Level: Advanced+
- Symptom: duplicate
useEffectblocks across184screens or flaky tests after hook refactor. - Maintainability smell: hook name does not match behavior; grep fails.
- Root cause class: hooks/ folder becomes junk drawer without prefixes or domains.
- Primary remediation: Prefix
useDomainAction; group by feature subfolders when scale demands. - Verify: RTL hook test + one story + bundle diff if heavy.
- Interview one-liner: Maintainability is grep + tests + naming: hooks should read like a table of contents for behavior.