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
applyToPackage Control if check should apply to package-private members. boolean true 5.0
applyToPrivate Control if check should apply to private members. boolean true 5.0
applyToProtected Control if check should apply to protected members. boolean true 5.0
applyToPublic Control if check should apply to public members. boolean true 5.0
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="StaticVariableName"/>
  </module>
</module>
        

Code Example:

class Example1 {
  public static int goodStatic = 2;
  private static int badStatic = 2;
  public static int ItStatic1 = 2; // violation, 'must match pattern'
  protected static int ItStatic2 = 2; // violation, 'must match pattern'
  private static int ItStatic = 2; // violation, 'must match pattern'
  public static int it_static = 2; // violation, 'must match pattern'
  public static int It_Static = 2; // violation, 'must match pattern'
  private static int It_Static1 = 2; // violation, 'must match pattern'
  static int It_Static2 = 2; // violation, 'must match pattern'
}
        

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 Example2 {
  public static int goodStatic = 2;
  private static int badStatic = 2;
  public static int ItStatic1 = 2;
  protected static int ItStatic2 = 2;
  private static int ItStatic = 2; // violation, 'must match pattern'
  public static int it_static = 2;
  public static int It_Static = 2;
  private static int It_Static1 = 2; // violation, 'must match pattern'
  static int It_Static2 = 2; // violation, 'must match pattern'
}
        

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 Example3 {
  public static int goodStatic = 2;
  private static int badStatic = 2;
  public static int ItStatic1 = 2; // violation, 'must match pattern'
  protected static int ItStatic2 = 2; // violation, 'must match pattern'
  private static int ItStatic = 2;
  public static int it_static = 2;
  public static int It_Static = 2; // violation, 'must match pattern'
  private static int It_Static1 = 2;
  static int It_Static2 = 2;
}
        

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