Class Naming
ID |
javascript.naming_class |
Severity |
low |
Remediation Complexity |
trivial |
Remediation Risk |
medium |
Remediation Effort |
low |
Resource |
Naming Convention |
Language |
JavaScript |
Tags |
naming |
Description
Reports class names that do not start with an uppercase letter or that contain underscores:
class user_profile { ... } // FLAW — snake_case
class lowerName { ... } // FLAW — starts with lowercase
class UserProfile { ... } // OK
Rationale
The JavaScript and TypeScript ecosystems use UpperCamelCase (PascalCase) for class names without exception: every framework template generator (Angular CLI, React create-component, Vue CLI), every linter preset, and every IDE refactor assumes the shape. Deviations break copy-paste between codebases and confuse readers — class user_profile looks like a function or a variable, not a constructor.
Remediation
Rename the class to PascalCase:
class UserProfile { ... }
class HTTPClient { ... } // initialisms still PascalCase, no underscores