Each of these naming modules validates identifiers for particular code
elements. Valid identifiers for a naming module are specified by its
format
property. The value of format
is a
regular expression for valid identifiers.
The Check validate abbreviations(consecutive capital letters) length in identifier name, it also allows to enforce camel case naming. Please read more at Google Style Guide to get to know how to avoid long abbreviations in names.
allowedAbbreviationLength specifies how many consecutive capital letters are allowed in the identifier. A value of 3 indicates that up to 4 consecutive capital letters are allowed, one after the other, before a violation is printed. The identifier 'MyTEST' would be allowed, but 'MyTESTS' would not be. A value of 0 indicates that only 1 consecutive capital letter is allowed. This is what should be used to enforce strict camel casing. The identifier 'MyTest' would be allowed, but 'MyTEst' would not be.
name | description | type | default value |
---|---|---|---|
allowedAbbreviationLength | indicates on the number of consecutive capital letters allowed in targeted identifiers (abbreviations in the classes, interfaces, variables and methods names, ... ). | Integer | 3 |
allowedAbbreviations | list of abbreviations that must be skipped for checking. Abbreviations should be separated by comma, no spaces are allowed. | String Set | null |
ignoreFinal | allow to skip variables with final modifier. | Boolean | true |
ignoreStatic | allow to skip variables with static modifier. | Boolean | true |
ignoreOverriddenMethods | Allows to ignore methods tagged with @Override annotation (that usually mean inherited name). | Boolean | true |
tokens | tokens to check | subset of tokens CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF, ENUM_CONSTANT_DEF. | CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF, PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF. |
Default configuration
To configure to check variables and classes identifiers, do not ignore variables with static modifier and allow no abbreviations (enforce camel case phrase) and allow no abbreviations to use (camel case phrase) and allow XML and URL abbreviations.
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
Validates identifiers for abstract
classes.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^Abstract.+$" |
ignoreModifier |
Controls whether to ignore checking for the
abstract modifier on classes that match the
name.
|
Boolean | false |
ignoreName |
Controls whether to ignore checking the name. Realistically
only useful if using the check to identify that match name
and do not have the abstract modifier. name.
|
Boolean | false |
The following example shows how to configure the
AbstractClassName
to checks names, but ignore
missing abstract
modifiers:
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
Checks that catch parameter names conform to a format specified by the format property. Default pattern has the following characteristic:
e
abbreviation (suitable for exceptions end errors)ex
abbreviation (suitable for exceptions)t
abbreviation (suitable for throwables)e1
or t2
pException
ie
or ee
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression |
"^(e|t|ex|[a-z][a-z][a-zA-Z]+)$"
|
To configure the check:
An example of how to configure the check for names that begin with a lower case letter, followed by letters and digits is:
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
Validates identifiers for class type parameters.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[A-Z]$" |
To configure the check:
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
Validates identifiers for constants (static
,
final
fields).
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$" |
applyToPublic | Controls whether to apply the check to public member. | Boolean | true |
applyToProtected | Controls whether to apply the check to protected member. | Boolean | true |
applyToPackage | Controls whether to apply the check to package-private member. | Boolean | true |
applyToPrivate | Controls whether to apply the check to private member. | Boolean | true |
Property format
in module ConstantName
is used to specify names to be allowed. The following configuration
apart from names allowed by default allows log
or
logger
:
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
Validates identifiers for interface type parameters.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[A-Z]$" |
To configure the check:
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
Validates identifiers for local, final
variables, including
catch
parameters and resources in try
statements.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[a-z][a-zA-Z0-9]*$" |
tokens | tokens to check | subset of tokens VARIABLE_DEF, PARAMETER_DEF, RESOURCE. | VARIABLE_DEF, PARAMETER_DEF, RESOURCE. |
To configure the check:
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
Checks that local, non-final
variable names conform to a format specified
by the format property.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[a-z][a-zA-Z0-9]*$" |
allowOneCharVarInForLoop |
Allow one character variable name in initialization expressions in FOR loop. For example:
for (int i = 1; i < 10; i++) {} |
Boolean | false |
To configure the check to use the default configuration:
An example of how to configure the check to allow one character variable name in initialization expressions in FOR loop:
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
Validates identifiers for non-static
fields.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[a-z][a-zA-Z0-9]*$" |
applyToPublic | Controls whether to apply the check to public member. | Boolean | true |
applyToProtected | Controls whether to apply the check to protected member. | Boolean | true |
applyToPackage | Controls whether to apply the check to package-private member. | Boolean | true |
applyToPrivate | Controls whether to apply the check to private member. | Boolean | true |
This is an example of a
configuration of the MemberName
module to
ensure that member identifiers begin with
'm'
, followed
by an upper case letter, and then letters and digits:
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
Validates identifiers for methods.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[a-z][a-zA-Z0-9]*$" |
allowClassName |
Controls whether to allow a method name to have the same
name as the residing class name. This is not to be confused
with a constructor. An easy mistake is to place a return
type on a constructor declaration which turns it into a
method. For example:
class MyClass { public void MyClass() {} //this is a method public MyClass() {} //this is a constructor } |
Boolean | false |
applyToPublic | Controls whether to apply the check to public member. | Boolean | true |
applyToProtected | Controls whether to apply the check to protected member. | Boolean | true |
applyToPackage | Controls whether to apply the check to package-private member. | Boolean | true |
applyToPrivate | Controls whether to apply the check to private member. | Boolean | true |
To configure the check:
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
Validates identifiers for method type parameters.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[A-Z]$" |
To configure the check:
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
Validates identifiers for packages.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[a-z]+(\.[a-zA-Z_][a-zA-Z0-9_]*)*$" |
The default value of format
for module PackageName
has been chosen to match the
requirements in the Java
Language specification and the Sun coding conventions. However
both underscores and uppercase letters are rather uncommon, so most
configurations should probably assign value ^[a-z]+(\.[a-z][a-z0-9]*)*$
to format
for module PackageName
, as in
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
Checks that method and catch
parameter names conform to a format specified
by the format property. By using accessModifiers
property it is possible
to specify different formats for methods at different visibility levels.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[a-z][a-zA-Z0-9]*$" |
ignoreOverridden |
Allows to skip methods with Override annotation from validation. For example, the
following method's parameter will be skipped from validation, if
ignoreOverridden is true:
@Override public boolean equals(Object o) { return super.equals(o); } |
Boolean | false |
accessModifiers | Access modifiers of methods where parameters are checked. | Access Modifier Set | public, protected, package, private |
To configure the check:
An example of how to configure the check to skip methods with Override annotation from validation:
An example of how to configure the check for names that begin with a lower case letter, followed by letters and digits is:
The following configuration checks that the parameters always start with two lowercase characters and, in addition, that public method parameters cannot be one character long:
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
Validates identifiers for static
, non-final
fields.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[a-z][a-zA-Z0-9]*$" |
applyToPublic | Controls whether to apply the check to public member. | Boolean | true |
applyToProtected | Controls whether to apply the check to protected member. | Boolean | true |
applyToPackage | Controls whether to apply the check to package-private member. | Boolean | true |
applyToPrivate | Controls whether to apply the check to private member. | Boolean | true |
To configure the check:
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
Validates identifiers for classes, interfaces, enums, and annotations.
name | description | type | default value |
---|---|---|---|
format | Specifies valid identifiers. | Regular Expression | "^[A-Z][a-zA-Z0-9]*$" |
applyToPublic | Controls whether to apply the check to public member. | Boolean | true |
applyToProtected | Controls whether to apply the check to protected member. | Boolean | true |
applyToPackage | Controls whether to apply the check to package-private member. | Boolean | true |
applyToPrivate | Controls whether to apply the check to private member. | Boolean | true |
tokens | tokens to check | subset of tokens CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF. | CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF. |
The following configuration element ensures that
interface names begin with "I_"
, followed by
letters and digits:
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