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