LocalVariableName
Since Checkstyle 3.0
Description
final
variable names conform to a specified pattern.
A catch parameter is considered to be a local variable.
This check does not support pattern variables. Instead, use PatternVariableName.
Properties
name | description | type | default value | since |
---|---|---|---|---|
allowOneCharVarInForLoop | Allow one character variable name in
initialization expressions in FOR loop if one char variable name is prohibited by format regexp. |
boolean | false |
5.8 |
format | Sets the pattern to match valid identifiers. | Pattern | "^([a-z][a-zA-Z0-9]*|_)$" |
3.0 |
Examples
To configure the check:
<module name="Checker">
<module name="TreeWalker">
<module name="LocalVariableName"/>
</module>
</module>
Code Example:
class Example1 {
void MyMethod() {
for (int var = 1; var < 10; var++) {}
for (int VAR = 1; VAR < 10; VAR++) {} // violation
for (int i = 1; i < 10; i++) {}
for (int var_1 = 0; var_1 < 10; var_1++) {} // violation
}
}
An example of how to configure the check for names that begin with a lower case letter, followed by letters, digits, and underscores is:
<module name="Checker">
<module name="TreeWalker">
<module name="LocalVariableName">
<property name="format" value="^[a-z](_?[a-zA-Z0-9]+)*$"/>
</module>
</module>
</module>
Code Example:
class Example2 {
void MyMethod() {
for (int var = 1; var < 10; var++) {}
for (int VAR = 1; VAR < 10; VAR++) {} // violation
for (int i = 1; i < 10; i++) {}
for (int var_1 = 0; var_1 < 10; var_1++) {}
}
}
An example of one character variable name in initialization expression(like "i") in FOR loop:
class Example3 {
void myMethod () {
for(int i = 1; i < 10; i++) {}
for(int K = 1; K < 10; K++) {} // violation
List list = new ArrayList();
for (Object o : list) {}
for (Object O : list) {} // violation
}
}
An example of how to configure the check to allow one character variable name in initialization expressions in FOR loop, where regexp allows 2 or more chars:
<module name="Checker">
<module name="TreeWalker">
<module name="LocalVariableName">
<property name="format" value="^[a-z][_a-zA-Z0-9]+$"/>
<property name="allowOneCharVarInForLoop" value="true"/>
</module>
</module>
</module>
Code Example:
class Example4 {
void MyMethod() {
int good = 1;
int g = 0; // violation
for (int v = 1; v < 10; v++) {
int a = 1; // violation
}
for (int V = 1; V < 10; V++) {
int I = 1; // violation
}
List list = new ArrayList();
for (Object o : list) {
String a = ""; // violation
}
for (Object O : list) {
String A = ""; // violation
}
}
}
An example of how to configure the check to that all variables have 3 or more chars in name:
<module name="Checker">
<module name="TreeWalker">
<module name="LocalVariableName">
<property name="format" value="^[a-z][_a-zA-Z0-9]{2,}$"/>
</module>
</module>
</module>
Code Example:
class Example5 {
void MyMethod() {
int goodName = 0;
int i = 1; // violation
for (int var = 1; var < 10; var++) {
int j = 1; // violation
}
}
}
Example of Usage
Violation Messages
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
Package
com.puppycrawl.tools.checkstyle.checks.naming