diff --git a/rules/common/coding-style.md b/rules/common/coding-style.md index 9ab495508..c88ab577f 100644 --- a/rules/common/coding-style.md +++ b/rules/common/coding-style.md @@ -59,11 +59,19 @@ ALWAYS validate at system boundaries: ## Naming Conventions -- Variables and functions: `camelCase` with descriptive names -- Booleans: prefer `is`, `has`, `should`, or `can` prefixes -- Interfaces, types, and components: `PascalCase` -- Constants: `UPPER_SNAKE_CASE` -- Custom hooks: `camelCase` with a `use` prefix +> **Language note**: This rule may be overridden by language-specific rules for +> languages where this pattern is not idiomatic. Casing in particular belongs to +> the language file — e.g. PEP 8 for Python, `snake_case` for Rust, `camelCase` +> for Java and Kotlin. React hook naming lives in +> [react/coding-style.md](../react/coding-style.md). + +Language-independent: + +- Descriptive names: the name says what the thing holds or does, without a comment. +- Booleans read as a claim: prefix with `is`, `has`, `should` or `can`. +- Where the language draws the distinction, constants and types are visually + distinct from ordinary values (`UPPER_SNAKE_CASE` and `PascalCase` in many + languages) — whether it draws it at all is for the language file to say. ## Code Smells to Avoid