Angular @NgModule Class Name

ID

javascript.angular_naming_module

Severity

info

Remediation Complexity

trivial

Remediation Risk

medium

Remediation Effort

low

Resource

Naming Convention

Language

JavaScript

Tags

angular, framework, naming

Description

Reports an Angular @NgModule class whose name does not end in Module:

// Bad
@NgModule({ ... })
export class AppRoutes { }      // FLAW

// Good
@NgModule({ ... })
export class AppRoutingModule { }

Rationale

The Angular style guide (priority A — "Style 02-03") requires the Module suffix on every class decorated with @NgModule. The convention makes module classes easy to spot in imports, in folder listings, and in IDE symbol pickers; mixed-suffix codebases lose that affordance.

Remediation

Rename the class to end in Module:

@NgModule({ ... })
export class AppRoutingModule { }