CheckStyle 実施ルール

CheckStyleのruleまとめ。
自分用メモなのでお見せできるものではないです。
その内に整理します…
https://checkstyle.sourceforge.io/checks.html

#Standard Check
The Standard Checkstyle Checks are applicable to general Java coding style and require no external libraries. The standard checks are included in the base distribution.
The site navigation menu lets you browse the individual checks by functionality.
Checkstyle provides many checks that you can apply to your source code. Below is an alphabetical reference, the site navigation menu provides a reference organized by functionality.

|Rule|Abst|
|:--|:--|
| AbbreviationAsWordInName | The Check validate abbreviations(consecutive capital letters) length in identifier name, it also allow in enforce camel case naming. |
| AbstractClassName | Ensures that the names of abstract classes conforming to some regular expression and check that abstract modifier exists. |
| AnnotationLocation | Check location of annotation on language elements. |
| AnnotationOnSameLine | The check does verifying that annotations are located on the same line with their targets. |
| AnnotationUseStyle | This check controls the style with the usage of annotations. |
| AnonInnerLength | Checks for long anonymous inner classes. |
| ArrayTrailingComma | Checks if array initialization contains optional trailing comma. |
| ArrayTypeStyle | Checks the style of array type definitions. |
| AtclauseOrder | Checks the order of at-clauses. |
| AvoidEscapedUnicodeCharacters | Restrict using Unicode escapes. |
| AvoidInlineConditionals | Detects inline conditionals. |
| AvoidNestedBlocks | Finds nested blocks. |
| AvoidStarImport | Check that finds import statements that use the * notation. |
| AvoidStaticImport | Check that finds static imports. |
| BooleanExpressionComplexity | Restricts nested boolean operators (&&, ||, &, | and ^) to a specified depth (default = 3). |
| CatchParameterName | Checks that catch parameter names conform to a format specified by the format property. |
| ClassDataAbstractionCoupling | This metric measures the number of instantiations of other classes within the given class. |
| ClassFanOutComplexity | The number of other classes a given class relies on. |
| ClassMemberImpliedModifier | Checks for implicit modifiers on class members and nested types. |
| ClassTypeParameterName | Checks that class type parameter names conform to a format specified by the format property. |
| CommentsIndentation | Controls the indentation between comments and surrounding code. |
| ConstantName | Checks that constant names conform to a format specified by the format property. |
| CovariantEquals | Checks that if a class defines a covariant method equals, then it defines method equals(java.lang.Object). |
| CustomImportOrder | Checks that the groups of import declarations appear in the order specified by the user. |
| CyclomaticComplexity | Checks cyclomatic complexity against a specified limit. |
| DeclarationOrder | Checks that the parts of a class or interface declaration appear in the order suggested by the Code Conventions for the Java Programming Language. |
| DefaultComesLast | Check that the default is after all the cases in a switch statement. |
| DescendantToken | Checks for restricted tokens beneath other tokens. |
| DesignForExtension | Checks that classes are designed for inheritance. |
| EmptyBlock | Checks for empty blocks but does not validate sequential blocks. |
| EmptyCatchBlock | Checks for empty catch blocks with few options to skip violation. |
| EmptyForInitializerPad | Checks the padding of an empty for initializer; that is whether a space is required at an empty for initializer, or such spaces are forbidden. |
| EmptyForIteratorPad | Checks the padding of an empty for iterator; that is whether a space is required at an empty for iterator, or such spaces are forbidden. |
| EmptyLineSeparator | Checks for blank line separators. |
| EmptyStatement | Detects empty statements (standalone ';'). |
| EqualsAvoidNull | Checks that any combination of String literals is on the left side of an equals() comparison. |
| EqualsHashCode | Checks that classes that override equals() also override hashCode(). |
| ExecutableStatementCount | Restricts the number of executable statements to a specified limit (default = 30). |
| ExplicitInitialization | Checks if any class or object member explicitly initialized to default for its type value (null for object references, zero for numeric types and char and false for boolean. |
| FallThrough | Checks for fall through in switch statements Finds locations where a case contains Java code - but lacks a break, return, throw or continue statement. |
| FileLength | Checks for long source files. |
| FileTabCharacter | Checks to see if a file contains a tab character. |
| FinalClass | Checks that class which has only private constructors is declared as final. |
| FinalLocalVariable | Ensures that local variables that never get their values changed, must be declared final. |
| FinalParameters | Check that method/constructor/catch/foreach parameters are final. |
| GenericWhitespace | Checks that the whitespace around the Generic tokens < and > are correct to the typical convention. |
| Header | Checks the header of the source against a fixed header file. |
| HiddenField | Checks that a local variable or a parameter does not shadow a field that is defined in the same class. |
| HideUtilityClassConstructor | Make sure that utility classes (classes that contain only static methods) do not have a public constructor. |
| IllegalCatch | Catching java.lang.Exception, java.lang.Error or java.lang.RuntimeException is almost never acceptable. |
| IllegalImport | Checks for imports from a set of illegal packages. |
| IllegalInstantiation | Checks for illegal instantiations where a factory method is preferred. |
| IllegalThrows | Throwing java.lang.Error or java.lang.RuntimeException is almost never acceptable. |
| IllegalToken | Checks for illegal tokens. |
| IllegalTokenText | Checks for illegal token text. |
| IllegalType | Checks that particular classes or interfaces are never used. |
| ImportControl | Check that controls what can be imported in each package and file. |
| ImportOrder | Ensures that groups of imports come in a specific order. |
| Indentation | Checks correct indentation of Java Code. |
| InnerAssignment | Checks for assignments in subexpressions, such as in String s = Integer.toString(i = 2);. |
| InnerTypeLast | Check nested (internal) classes/interfaces are declared at the bottom of the class after all method and field declarations. |
| InterfaceIsType | Implements Bloch, Effective Java, Item 17 - Use Interfaces only to define types. |
| InterfaceMemberImpliedModifier | Checks for implicit modifiers on interface members and nested types. |
| InterfaceTypeParameterName | Checks that interface type parameter names conform to a format specified by the format property. |
| JavadocMethod | Checks the Javadoc of a method or constructor. |
| JavadocPackage | Checks that all packages have a package documentation. |
| JavadocParagraph | Checks Javadoc paragraphs. |
| JavadocStyle | Custom Checkstyle Check to validate Javadoc. |
| JavadocTagContinuationIndentation | Checks the indentation of the continuation lines in at-clauses. |
| JavadocType | Checks the Javadoc of a type. |
| JavadocVariable | Checks that a variable has Javadoc comment. |
| JavaNCSS | This check calculates the Non Commenting Source Statements (NCSS) metric for Java source files and methods. |
| LambdaParameterName | Check to verify lambda parameter names. |
| LeftCurly | Checks the placement of left curly braces on types, methods and other blocks: |
| LineLength | Checks for long lines. |
| LocalFinalVariableName | Checks that local final variable names conform to a format specified by the format property. |
| LocalVariableName | Checks that local, non-final variable names conform to a format specified by the format property. |
| MagicNumber | Checks for magic numbers. |
| MemberName | Checks that instance variable names conform to a format specified by the format property. |
| MethodCount | Checks the number of methods declared in each type declaration by access modifier or total count. |
| MethodLength | Checks for long methods. |
| MethodName | Checks that method names conform to a format specified by the format property. |
| MethodParamPad | Checks the padding between the identifier of a method definition, constructor definition, method call, or constructor invocation; and the left parenthesis of the parameter list. |
| MethodTypeParameterName | Checks that class type parameter names conform to a format specified by the format property. |
| MissingCtor | Checks that classes (except abstract one) define a ctor and don't rely on the default one. |
| MissingDeprecated | This class is used to verify that both the java.lang.Deprecated annotation is present and the @deprecated Javadoc tag is present when either is present. |
| MissingJavadocMethod | Checks for missing Javadoc comments for a method or constructor. |
| MissingJavadocPackage | Checks for missing Javadoc comments in package-info.java files. |
| MissingJavadocType | Checks for missing Javadoc comments for class, enum, interface, and annotation interface definitions. |
| MissingOverride | This class is used to verify that the java.lang.Override annotation is present when the {@inheritDoc} javadoc tag is present. |
| MissingSwitchDefault | Checks that switch statement has "default" clause. |
| ModifiedControlVariable | Check for ensuring that for loop control variables are not modified inside the for block. |
| ModifierOrder | Checks that the order of modifiers conforms to the suggestions in the Java Language specification, sections 8.1.1, 8.3.1 and 8.4.3. |
| MultipleStringLiterals | Checks for multiple occurrences of the same string literal within a single file. |
| MultipleVariableDeclarations | Checks that each variable declaration is in its own statement and on its own line. |
| MutableException | Ensures that exceptions (defined as any class name conforming to some regular expression) are immutable. |
| NeedBraces | Checks for braces around code blocks. |
| NestedForDepth | Restricts nested for blocks to a specified depth (default = 1). |
| NestedIfDepth | Restricts nested if-else blocks to a specified depth (default = 1). |
| NestedTryDepth | Restricts nested try-catch-finally blocks to a specified depth (default = 1). |
| NewlineAtEndOfFile | Checks that there is a newline at the end of each file. |
| NoClone | Checks that the clone method is not overridden from the Object class. |
| NoFinalizer | Checks that no method having zero parameters is defined using the name finalize. |
| NoLineWrap | Checks that chosen statements are not line-wrapped. |
| NonEmptyAtclauseDescription | Checks that the at-clause tag is followed by description . |
| NoWhitespaceAfter | Checks that there is no whitespace after a token. |
| NoWhitespaceBefore | Checks that there is no whitespace before a token. |
| NPathComplexity | Checks the npath complexity against a specified limit (default = 200). |
| OneStatementPerLine | Checks that there is only one statement per line. |
| OneTopLevelClass | Checks that each top-level class, interfaces or enum resides in a source file of its own. |
| OperatorWrap | Checks line wrapping for operators. |
| OrderedProperties | Detects if keys in properties files are in correct order. |
| OuterTypeFilename | Checks that the outer type name and the file name match. |
| OuterTypeNumber | Checks for the number of defined types at the "outer" level. |
| OverloadMethodsDeclarationOrder | Checks that overload methods are grouped together. |
| PackageAnnotation | This check makes sure that all package annotations are in the package-info.java file. |
| PackageDeclaration | Ensures there is a package declaration and (optionally) in the correct directory. |
| PackageName | Checks that package names conform to a format specified by the format property. |
| ParameterAssignment | Disallow assignment of parameters. |
| ParameterName | Checks that parameter names conform to a format specified by the format property. |
| ParameterNumber | Checks the number of parameters that a method or constructor has. |
| ParenPad | Checks the padding of parentheses; that is whether a space is required after a left parenthesis and before a right parenthesis, or such spaces are forbidden, with the exception that it does not check for padding of the right parenthesis at an empty for iterator. |
| RedundantImport | Checks for imports that are redundant. |
| RedundantModifier | Checks for redundant modifiers in interface and annotation definitions, final modifier on methods of final classes, inner interfacedeclarations that are declared as static, non public class constructors and enum constructors, nested enum definitions that are declared as static. |
| Regexp | A check that makes sure that a specified pattern exists (or not) in the file. |
| RegexpHeader | Checks the header of the source against a header file that contains a |
| RegexpMultiline | Implementation of a check that looks that matches across multiple lines in any file type. |
| RegexpOnFilename | Implementation of a check that matches based on file and/or folder path. |
| RegexpSingleline | Implementation of a check that looks for a single line in any file type. |
| RegexpSinglelineJava | Implementation of a check that looks for a single line in Java files. |
| RequireThis | Checks that code doesn't rely on the "this" default. |
| ReturnCount | Restricts return statements to a specified count (default = 2). |
| RightCurly | Checks the placement of right curly braces. |
| SeparatorWrap | Checks line wrapping with separators. |
| SimplifyBooleanExpression | Checks for overly complicated boolean expressions. |
| SimplifyBooleanReturn | Checks for overly complicated boolean return statements. |
| SingleLineJavadoc | Checks that a JavaDoc block which can fit on a single line and doesn't contain at-clauses |
| SingleSpaceSeparator | Checks that non-whitespace characters are separated by no more than one whitespace. |
| StaticVariableName | Checks that static, non-final variable names conform to a format specified by the format property. |
| StringLiteralEquality | Checks that string literals are not used with == or !=. |
| SummaryJavadoc | Checks that Javadoc summary sentence does not contain phrases that are not recommended to use. |
| SuperClone | Checks that an overriding clone() method invokes super.clone(). |
| SuperFinalize | Checks that an overriding finalize() method invokes super.finalize(). |
| SuppressWarnings | This check allows you to specify what warnings that |
| ThrowsCount | Restricts throws statements to a specified count (default = 4). |
| TodoComment | A check for TODO comments. |
| TrailingComment | The check to ensure that requires that comments be the only thing on a line. |
| Translation | The TranslationCheck class helps to ensure the correct translation of code by checking property files for consistency regarding their keys. |
| TypecastParenPad | Checks the padding of parentheses for typecasts. |
| TypeName | Checks that type names conform to a format specified by the format property. |
| UncommentedMain | Detects uncommented main methods. |
| UniqueProperties | Detects duplicated keys in properties files. |
| UnnecessaryParentheses | Checks if unnecessary parentheses are used in a statement or expression. |
| UnnecessarySemicolonInEnumeration | Checks if unnecessary semicolon is in enum definitions. |
| UnnecessarySemicolonInTryWithResources | Checks if unnecessary semicolon is used in last resource declaration. |
| UnusedImports | Checks for unused import statements. |
| UpperEll | Checks that long constants are defined with an upper ell. |
| VariableDeclarationUsageDistance | Checks the distance between declaration of variable and its first usage. |
| VisibilityModifier | Checks visibility of class members. |
| WhitespaceAfter | Checks that a token is followed by whitespace, with the exception that it does not check for whitespace after the semicolon of an empty for iterator. |
| WhitespaceAround | Checks that a token is surrounded by whitespace. |
| WriteTag | Outputs a JavaDoc tag as information. |

#分類別
|Category|Rule|
|:--|:--|
| Annotations | AnnotationLocation |
|  | AnnotationOnSameLine |
|  | AnnotationUseStyle |
|  | MissingDeprecated |
|  | MissingOverride |
|  | PackageAnnotation |
|  | SuppressWarnings |
|  | SuppressWarningsHolder |
| Block Checks | AvoidNestedBlocks |
|  | EmptyBlock |
|  | EmptyCatchBlock |
|  | LeftCurly |
|  | NeedBraces |
|  | RightCurly |
| Class Design | DesignForExtension |
|  | FinalClass |
|  | HideUtilityClassConstructor |
|  | InnerTypeLast |
|  | InterfaceIsType |
|  | MutableException |
|  | OneTopLevelClass |
|  | ThrowsCount |
|  | VisibilityModifier |
| Coding | ArrayTrailingComma |
|  | AvoidInlineConditionals |
|  | CovariantEquals |
|  | DeclarationOrder |
|  | DefaultComesLast |
|  | EmptyStatement |
|  | EqualsAvoidNull |
|  | EqualsHashCode |
|  | ExplicitInitialization |
|  | FallThrough |
|  | FinalLocalVariable |
|  | HiddenField |
|  | IllegalCatch |
|  | IllegalInstantiation |
|  | IllegalThrows |
|  | IllegalToken |
|  | IllegalTokenText |
|  | IllegalType |
|  | InnerAssignment |
|  | MagicNumber |
|  | MissingCtor |
|  | MissingSwitchDefault |
|  | ModifiedControlVariable |
|  | MultipleStringLiterals |
|  | MultipleVariableDeclarations |
|  | NestedForDepth |
|  | NestedIfDepth |
|  | NestedTryDepth |
|  | NoClone |
|  | NoFinalizer |
|  | OneStatementPerLine |
|  | OverloadMethodsDeclarationOrder |
|  | PackageDeclaration |
|  | ParameterAssignment |
|  | RequireThis |
|  | ReturnCount |
|  | SimplifyBooleanExpression |
|  | SimplifyBooleanReturn |
|  | StringLiteralEquality |
|  | SuperClone |
|  | SuperFinalize |
|  | UnnecessaryParentheses |
|  | UnnecessarySemicolonInEnumeration |
|  | UnnecessarySemicolonInTryWithResources |
|  | VariableDeclarationUsageDistance |
| Headers | Header |
|  | RegexpHeader |
| Imports | AvoidStarImport |
|  | AvoidStaticImport |
|  | CustomImportOrder |
|  | IllegalImport |
|  | ImportControl |
|  | ImportOrder |
|  | RedundantImport |
|  | UnusedImports |
| Javadoc Comments | AtclauseOrder |
|  | JavadocMethod |
|  | JavadocPackage |
|  | JavadocParagraph |
|  | JavadocStyle |
|  | JavadocTagContinuationIndentation |
|  | JavadocType |
|  | JavadocVariable |
|  | MissingJavadocMethod |
|  | MissingJavadocPackage |
|  | MissingJavadocType |
|  | NonEmptyAtclauseDescription |
|  | SingleLineJavadoc |
|  | SummaryJavadoc |
|  | WriteTag |
| Metrics | BooleanExpressionComplexity |
|  | ClassDataAbstractionCoupling |
|  | ClassFanOutComplexity |
|  | CyclomaticComplexity |
|  | JavaNCSS |
|  | NPathComplexity |
| Miscellaneous | ArrayTypeStyle |
|  | AvoidEscapedUnicodeCharacters |
|  | CommentsIndentation |
|  | DescendantToken |
|  | FinalParameters |
|  | Indentation |
|  | NewlineAtEndOfFile |
|  | OrderedProperties |
|  | OuterTypeFilename |
|  | TodoComment |
|  | TrailingComment |
|  | Translation |
|  | UncommentedMain |
|  | UniqueProperties |
|  | UpperEll |
| Modifiers | ClassMemberImpliedModifier |
|  | InterfaceMemberImpliedModifier |
|  | ModifierOrder |
|  | RedundantModifier |
| Naming Conventions | Overview |
|  | AbbreviationAsWordInName |
|  | AbstractClassName |
|  | CatchParameterName |
|  | ClassTypeParameterName |
|  | ConstantName |
|  | InterfaceTypeParameterName |
|  | LambdaParameterName |
|  | LocalFinalVariableName |
|  | LocalVariableName |
|  | MemberName |
|  | MethodName |
|  | MethodTypeParameterName |
|  | PackageName |
|  | ParameterName |
|  | StaticVariableName |
|  | TypeName |
| Regexp | Regexp |
|  | RegexpMultiline |
|  | RegexpOnFilename |
|  | RegexpSingleline |
|  | RegexpSinglelineJava |
| Size Violations | AnonInnerLength |
|  | ExecutableStatementCount |
|  | FileLength |
|  | LineLength |
|  | MethodCount |
|  | MethodLength |
|  | OuterTypeNumber |
|  | ParameterNumber |
| Whitespace | EmptyForInitializerPad |
|  | EmptyForIteratorPad |
|  | EmptyLineSeparator |
|  | FileTabCharacter |
|  | GenericWhitespace |
|  | MethodParamPad |
|  | NoLineWrap |
|  | NoWhitespaceAfter |
|  | NoWhitespaceBefore |
|  | OperatorWrap |
|  | ParenPad |
|  | SeparatorWrap |
|  | SingleSpaceSeparator |
|  | TypecastParenPad |
|  | WhitespaceAfter |
|  | WhitespaceAround |

#Google Java Style Rule
| Checkstyle Check | Applied to config |
|:--|:--|
| 1 Introduction | -- |
| 1.1 Terminology notes | -- |
| 1.2 Guide notes | -- |
| 2 Source file basics | ↓ |
| 2.1 File name | OuterTypeFilename |
| 2.2 File encoding: UTF-8 | explanation |
| 2.3.1 Whitespace characters | FileTabCharacter |
| 2.3.2 Special escape sequences | IllegalTokenText |
| 2.3.3 Non-ASCII characters | AvoidEscapedUnicodeCharacters |
| 3 Source file structure | EmptyLineSeparator |
| 3.1 License or copyright information, if present | -- |
| 3.2 Package statement | LineLength <br/>NoLineWrap |
| 3.3 Import statements | ↓ |
| 3.3.1 No wildcard imports | AvoidStarImport |
| 3.3.2 No line-wrapping | LineLength <br/>NoLineWrap |
| 3.3.3 Ordering and spacing | CustomImportOrder |
| 3.3.4 No static import for classes | That validation could not be checked by Checkstyle. It's need information from another class(java file). But Checkstyle have no way to open or look at another java file. |
| 3.4 Class declaration | ↓ |
| 3.4.1 Exactly one top-level class declaration | OneTopLevelClass |
| 3.4.2 Class member ordering | -- |
| 3.4.2.1 Overloads: never split | OverloadMethodsDeclarationOrder |
| 4 Formatting | -- |
| 4.1 Braces | ↓ |
| 4.1.1 Braces are used where optional | NeedBraces |
| 4.1.2 Nonempty blocks: K & R style | LeftCurly<br/>RightCurly |
| 4.1.3 Empty blocks: may be concise | EmptyBlock <br/>EmptyCatchBlock |
| 4.2 Block indentation: +2 spaces | Indentation <br/>The rule "A line is never broken adjacent to the arrow in a lambda, except that a break may come immediately after the arrow if the body of the lambda consists of a single unbraced expression" will be addressed in the issue #4006. |
| 4.3 One statement per line | OneStatementPerLine |
| 4.4 Column limit: 100 | LineLength <br/>We can detect URL with protocol type as http://, https:// etc. <br/>JSNI could not be detected right now, but might be possible after comments and javadoc support appear in Checkstyle <br/>Also full-length characters are not counted as one character, but as multiple and will be addressed in the issue #5089. |
| 4.5 Line-wrapping | -- |
| 4.5.1 Where to break | OperatorWrap <br/>SeparatorWrap <br/>MethodParamPad |
| 4.5.2 Indent continuation lines at least +4 spaces | Indentation |
| 4.6 Whitespace | ↓ |
| 4.6.1 Vertical Whitespace | EmptyLineSeparator <br/>Blank lines between two consecutive fields are optional. This exception is not satisfied |
| 4.6.2 Horizontal whitespace | WhitespaceAround <br/>GenericWhitespace <br/>MethodParamPad <br/>ParenPad <br/>NoWhitespaceBefore <br/>Between a type annotation and "[]" or "..." cannot be checked yet and actually "NoWhitespaceBefore" configuration checks the opposite for ellipsis. This will be addressed in the issue #6707. |
| 4.6.3 Horizontal alignment: never required | -- |
| 4.7 Grouping parentheses: recommended | -- |
| 4.8 Specific constructs | ↓ |
| 4.8.1 Enum classes | -- |
| 4.8.2 Variable declarations | ↓ |
| 4.8.2.1 One variable per declaration | MultipleVariableDeclarations |
| 4.8.2.2 Declared when needed | VariableDeclarationUsageDistance |
| 4.8.3 Arrays | ↓ |
| 4.8.3.1 Array initializers: can be "block-like" | -- |
| 4.8.3.2 No C-style array declarations | ArrayTypeStyle |
| 4.8.4 Switch statements | -- |
| 4.8.4.1 Indentation | Indentation |
| 4.8.4.2 Fall-through: commented | FallThrough |
| 4.8.4.3 The default case is present | MissingSwitchDefault <br/>"Exception: enum type may omit the default statement group" requirement can not be covered as we can not distinguish types, enum values may look the same as static final String constants. |
| 4.8.5 Annotations | AnnotationLocation |
| 4.8.6 Comments | ↓ |
| 4.8.6.1 Block comment style | CommentsIndentation |
| 4.8.7 Modifiers | ModifierOrder |
| 4.8.8 Numeric Literals | UpperEll |
| 5 Naming | ↓ |
| 5.1 Rules common to all identifiers | 5.2 Rules of identifier type | already includes this rule. |
| 5.2 Rules by identifier type | ↓ |
| 5.2.1 Package names | PackageName |
| 5.2.2 Class names | TypeName |
| 5.2.3 Method names | MethodName <br/>No ability to distinguish verb at the beginning of name, no way distinguish Test method from others so "_" is allowed in names |
| 5.2.4 Constant names | Every constant is a static final field, but not all static final fields are constants - impossible to check such rule. |
| 5.2.5 Non-constant field names | MemberName |
| 5.2.6 Parameter names | ParameterName <br/>CatchParameterName <br/>LambdaParameterName |
| 5.2.7 Local variable names | LocalVariableName |
| 5.2.8 Type variable names | MethodTypeParameterName<br/>ClassTypeParameterName <br/>InterfaceTypeParameterName |
| 5.3 Camel case: defined | AbbreviationAsWordInName <br/>Non covered: Some words are ambiguously hyphenated in the English language. No way to distinguish "YouTubeImporter" or "YoutubeImporter". |
| 6 Programming Practices | ↓ |
| 6.1 @Override: always used | That validation could not be checked by Checkstyle. It's need to take a look as parent class. But Checkstyle have no way to open or look at another Class file. |
| 6.2 Caught exceptions: not ignored | EmptyBlock with option=text. |
| 6.3 Static members: qualified using class | Proper validation require parsing other files, sources are not always available. |
| 6.4 Finalizers: not used | NoFinalizer |
| 7 Javadoc | ↓ |
| 7.1 Formatting | ↓ |
| 7.1.1 General form | SingleLineJavadoc Recent update for guide that clarify requirements will be addressed at #4052 |
| 7.1.2 Paragraphs | JavadocParagraph |
| 7.1.3 Block tags | AtclauseOrder <br/>JavadocTagContinuationIndentation <br/>NonEmptyAtclauseDescription |
| 7.2 The summary fragment | SummaryJavadoc |
| 7.3 Where Javadoc is used | MissingJavadocMethod  JavadocMethod |
| 7.3.1 Exception: self-explanatory methods | MissingJavadocMethod  JavadocMethod |
| 7.3.2 Exception: overrides | MissingJavadocMethod  JavadocMethod<br/>Overrides are checked by presence of "@Override" annotation on method. |
| 7.3.4 Non-required Javadoc | -- |