Identifiers Should Not Contain Dollar Sign
ID |
java.identifier_no_dollar_sign |
Severity |
info |
Remediation Complexity |
medium |
Remediation Risk |
low |
Remediation Effort |
medium |
Resource |
Code Smell |
Language |
Java |
Tags |
code-style, naming |
Description
Reports user-defined identifiers (class names, interface names, field names, method names, local variable names, and parameter names) that contain the dollar sign character ($).
Rationale
While $ is a legal character in Java identifiers, it is reserved by convention for compiler-generated names such as inner-class separators (Outer$Inner), synthetic bridge methods, and lambda desugaring artifacts. Hand-written identifiers containing $ are confusing, may collide with generated names, and violate naming conventions in virtually all Java style guides.
// Bad — dollar sign in user-defined identifiers
private int my$field;
public void do$Something() { }
Remediation
Rename the identifier to use only letters, digits, and underscores. Replace $ with a meaningful word or remove it entirely.
// Good — clean identifiers
private int myField;
public void doSomething() { }