Since Checkstyle 3.0
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.
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 |
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 } } }
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
com.puppycrawl.tools.checkstyle.checks.naming