StaticVariableName

Since Checkstyle 3.0

Description

Checks that static, non-final variable names conform to a specified pattern.

Properties

name description type default value since
format Specifies valid identifiers. Pattern "^[a-z][a-zA-Z0-9]*$" 3.0
applyToPublic Controls whether to apply the check to public member. boolean true 5.0
applyToProtected Controls whether to apply the check to protected member. boolean true 5.0
applyToPackage Controls whether to apply the check to package-private member. boolean true 5.0
applyToPrivate Controls whether to apply the check to private member. boolean true 5.0

Examples

To configure the check:

<module name="Checker">
  <module name="TreeWalker">
    <module name="StaticVariableName"/>
  </module>
</module>
        

Code Example:

class MyClass {
  public static int goodStatic = 2; // OK
  private static int BadStatic = 2; // violation, name 'BadStatic'
                                    // must match pattern '^[a-z][a-zA-Z0-9]*$'
}
        

An example of how to suppress the check to public and protected types is:

<module name="Checker">
  <module name="TreeWalker">
    <module name="StaticVariableName">
      <property name="applyToPublic" value="false"/>
      <property name="applyToProtected" value="false"/>
    </module>
  </module>
</module>
        

Code Example:

class MyClass {
  public static int GoodStatic1 = 2; // OK
  protected static int GoodStatic2 = 2; //OK
  private static int goodStatic = 2 // OK
  private static int BadStatic = 2; // violation, name 'BadStatic'
                                    // must match pattern '^[a-z][a-zA-Z0-9]*$'
}
        

An example of how to configure the check for names that begin with a lower case letter, followed by letters, digits, and underscores. Also, suppress the check from being applied to private and package-private types:

<module name="Checker">
  <module name="TreeWalker">
    <module name="StaticVariableName">
      <property name="format" value="^[a-z](_?[a-zA-Z0-9]+)*$"/>
      <property name="applyToPrivate" value="false"/>
      <property name="applyToPackage" value="false"/>
    </module>
  </module>
</module>
        

Code Example:

class MyClass {
  public static int good_static = 2; // OK
  public static int Bad_Static = 2; // violation, name 'Bad_Static'
                                    // must match pattern '^[a-z](_?[a-zA-Z0-9]+)*$'
  private static int Good_Static1 = 2; // OK
  static int Good_Static2 = 2; // OK
}
        

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

Parent Module

TreeWalker