Restricts the number of executable statements to a specified limit.
| name | description | type | default value |
|---|---|---|---|
| max | the maximum threshold allowed | integer | 30 |
| tokens | members to check | subset of tokens CTOR_DEF, METHOD_DEF, INSTANCE_INIT, STATIC_INIT | all tokens |
To configure the check:
To configure the check with a threshold of 20 for constructor and method definitions:
com.puppycrawl.tools.checkstyle.checks.sizes
Checks for long source files.
Rationale: If a source file becomes very long it is hard to understand. Therefore long classes should usually be refactored into several individual classes that focus on a specific task.
| name | description | type | default value |
|---|---|---|---|
| max | maximum allowable number of lines | integer | 2000 |
| fileExtensions | file type extension of files to process | String Set | {} |
To configure the check to accept files with up to 1500 lines:
com.puppycrawl.tools.checkstyle.checks.sizes
Checks for long lines.
Rationale: Long lines are hard to read in printouts or if developers have limited screen space for the source code, e.g. if the IDE displays additional information like project tree, class hierarchy, etc.
| name | description | type | default value |
|---|---|---|---|
| ignorePattern | pattern for lines to ignore | regular expression | ^$ |
| max | maximum allowable line length | integer | 80 |
To configure the check to accept lines up to 120 characters long:
To configure the check to ignore lines that begin with " * ", followed by just one word, such as within a Javadoc comment:
'\t'). The default number of spaces is 8. To specify a different number of spaces,
the user can set TreeWalker property tabWidth which applies to all Checks,
including LineLength; or can set
property tabWidth for LineLength alone.
ignorePattern to ^import and achieve the same effect.
com.puppycrawl.tools.checkstyle.checks.sizes
Checks for long methods and constructors.
Rationale: If a method becomes very long it is hard to understand. Therefore long methods should usually be refactored into several individual methods that focus on a specific task.
| name | description | type | default value |
|---|---|---|---|
| max | maximum allowable number of lines | integer | 150 |
| countEmpty |
whether to count empty lines and single line comments of the
form //
|
boolean | true |
| tokens | blocks to check | subset of tokens METHOD_DEF, CTOR_DEF | METHOD_DEF, CTOR_DEF |
To configure the check:
To configure the check so that it accepts methods with at most 60 lines:
To configure the check so that it accepts methods with at most 60 lines, not counting empty lines and single line comments:
com.puppycrawl.tools.checkstyle.checks.sizes
Checks for long anonymous inner classes.
Rationale: If an anonymous inner class becomes very long it is hard to understand and to see the flow of the method where the class is defined. Therefore long anonymous inner classes should usually be refactored into a named inner class. See also Bloch, Effective Java, p. 93.
| name | description | type | default value |
|---|---|---|---|
| max | maximum allowable number of lines | integer | 20 |
To configure the check to accept files with up to 60 lines:
com.puppycrawl.tools.checkstyle.checks.sizes
Checks the number of parameters of a method or constructor.
| name | description | type | default value |
|---|---|---|---|
| max | maximum allowable number of parameters | integer | 7 |
| ignoreOverriddenMethods | Ignore number of parameters for methods with @Override annotation | boolean | false |
| tokens | declarations to check | subset of tokens METHOD_DEF, CTOR_DEF | METHOD_DEF, CTOR_DEF |
To configure the check:
To configure the check to allow 10 parameters for a method:
To configure the check to ignore number of parameters for methods with @Override or @java.lang.Override annotation.
Rationale: developer may need to override method with many parameters from 3-rd party library. In this case developer has no control over number of parameters.
Java code example
com.puppycrawl.tools.checkstyle.checks.sizes
Checks for the number of types declared at the outer (or root) level in a file.
Rationale: It is considered good practice to only define one outer type per file.
| name | description | type | default value |
|---|---|---|---|
| max | maximum allowable number of outer types | integer | 1 |
To configure the check to accept 1 outer type per file:
To configure the check to accept 2 outer types per file:
com.puppycrawl.tools.checkstyle.checks.sizes
Checks the number of methods declared in each type. This
includes the number of each scope (private,
package, protected and
public) as well as an overall total.
| name | description | type | default value |
|---|---|---|---|
| maxTotal | maximum allowable number of methods at all scope levels | integer | 100 |
| maxPrivate | maximum allowable number of private methods |
integer | 100 |
| maxPackage | maximum allowable number of package methods |
integer | 100 |
| maxProtected | maximum allowable number of protected methods |
integer | 100 |
| maxPublic | maximum allowable number of public methods |
integer | 100 |
To configure the check with defaults:
To configure the check to allow at most 30 methods per type:
com.puppycrawl.tools.checkstyle.checks.sizes