<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC
- "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
- "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+ "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<!--
Checkstyle用チェック項目定義。
- Checkstyle5.0以降向けに記述。
+ Checkstyle 5.0 以降向けに記述。
[ http://checkstyle.sourceforge.net/ ]
- Copyright(c) 2009 olyutorskii
+ Copyright(c) 2010 olyutorskii
-->
<module name="Checker">
<property name="charset" value="UTF-8" />
+ <property name="localeCountry" value="JP" />
+ <property name="localeLanguage" value="ja" />
<property name="severity" value="error" />
+ <!-- Filters -->
+ <module name="SeverityMatchFilter" />
+ <module name="SuppressionFilter">
+ <property name="file" value="src/main/config/suppressions.xml" />
+ </module>
+ <module name="SuppressionCommentFilter" />
+ <module name="SuppressWithNearbyCommentFilter" />
+
+
+ <!-- Duplicate Code -->
+ <module name="StrictDuplicateCode">
+ <property name="min" value="20" />
+ </module>
+
+
<!-- Headers -->
<module name="RegexpHeader">
<property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
<!-- Miscellaneous -->
<module name="NewlineAtEndOfFile" />
+ <module name="Translation" />
<!-- Regexp -->
<!-- Size Violations -->
- <module name="FileLength">
- <property name="max" value="2000" />
- </module>
+ <module name="FileLength" />
<!-- Whitespace -->
<module name="FileTabCharacter" />
-<!-- Filters
- <module name="SeverityMatchFilter" />
- <module name="SuppressionFilter" />
- <module name="SuppressionCommentFilter" />
- <module name="SuppressWithNearbyCommentFilter" />
--->
-
-
<module name="TreeWalker">
- <property name="tabWidth" value="4" />
+ <module name="FileContentsHolder" />
<!-- Annotations -->
+
<module name="AnnotationUseStyle" />
<module name="MissingDeprecated" />
- <module name="MissingOverride">
- <property name="javaFiveCompatibility" value="true" />
- </module>
+ <module name="MissingOverride" />
<module name="PackageAnnotation" />
+ <module name="SuppressWarnings" />
<!-- Block Checks -->
- <module name="EmptyBlock">
- <property name="option" value="text" />
- </module>
- <module name="LeftCurly">
- <property name="option" value="eol" />
- </module>
+
+ <module name="EmptyBlock" />
+ <module name="LeftCurly" />
<module name="NeedBraces">
<property name="tokens" value="LITERAL_DO" />
</module>
<!-- Class Design -->
+
<module name="VisibilityModifier" />
<module name="FinalClass" />
<module name="InterfaceIsType" />
<module name="HideUtilityClassConstructor" />
+<!-- <module name="DesignForExtension" /> -->
<module name="MutableException" />
<module name="ThrowsCount">
- <property name="max" value="5" />
+ <property name="max" value="3" />
</module>
<!-- Coding -->
+
<module name="ArrayTrailingComma" />
<module name="AvoidInlineConditionals" />
<module name="CovariantEquals" />
<module name="DoubleCheckedLocking" />
<module name="EmptyStatement" />
+ <module name="EqualsAvoidNull" />
<module name="EqualsHashCode" />
+<!-- <module name="FinalLocalVariable" /> -->
<module name="HiddenField">
<property name="ignoreConstructorParameter" value="true" />
<property name="ignoreSetter" value="true" />
+ <property name="ignoreAbstractMethods" value="true" />
</module>
- <module name="IllegalInstantiation">
- <property
- name="classes"
- value="java.lang.Boolean, java.lang.Integer" />
- </module>
+ <module name="IllegalInstantiation" />
<module name="IllegalToken">
- <property name="tokens" value="STATIC_IMPORT" />
+ <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
</module>
<module name="IllegalTokenText">
<property name="tokens" value="NUM_INT, NUM_LONG" />
<property name="ignoreCase" value="true" />
</module>
<module name="InnerAssignment" />
+ <module name="MagicNumber" />
<module name="MissingSwitchDefault" />
<module name="ModifiedControlVariable" />
<module name="RedundantThrows">
<module name="SimplifyBooleanExpression" />
<module name="SimplifyBooleanReturn" />
<module name="StringLiteralEquality" />
- <module name="NestedIfDepth">
- <property name="max" value="2" />
- </module>
- <module name="NestedTryDepth">
- <property name="max" value="1" />
- </module>
+ <module name="NestedIfDepth" />
+ <module name="NestedTryDepth" />
+ <module name="NoClone" />
+ <module name="NoFinalizer" />
<module name="SuperClone" />
<module name="SuperFinalize" />
+ <module name="IllegalCatch" />
<module name="IllegalThrows" />
<module name="PackageDeclaration" />
<module name="JUnitTestCase" />
<module name="ReturnCount">
- <property name="max" value="15" />
+ <property name="max" value="5" />
</module>
+ <module name="IllegalType" />
+ <module name="DeclarationOrder" />
<module name="ParameterAssignment" />
+<!-- <module name="ExplicitInitialization" /> -->
<module name="DefaultComesLast" />
<module name="MissingCtor" />
<module name="FallThrough" />
+ <module name="MultipleStringLiterals">
+ <property
+ name="ignoreStringsRegexp"
+ value="^""$|^"."$"
+ />
+ </module>
<module name="MultipleVariableDeclarations" />
<module name="UnnecessaryParentheses" />
<!-- Imports -->
+
<module name="AvoidStarImport" />
<module name="AvoidStaticImport" />
<module name="IllegalImport" />
<module name="RedundantImport" />
<module name="UnusedImports" />
- <module name="ImportOrder">
- <property name="option" value="bottom" />
- </module>
+ <module name="ImportOrder" />
+<!-- <module name="ImportControl" /> -->
<!-- Javadoc Comments -->
+
<module name="JavadocType" />
<module name="JavadocMethod" />
<module name="JavadocVariable">
name="endOfSentenceFormat"
value="([。.?!][ \t\n\r\f<])|([。.?!]$)" />
<property name="checkEmptyJavadoc" value="true" />
+ <property name="checkHtml" value="true" />
</module>
+<!-- <module name="WriteTag" /> -->
<!-- Metrics -->
- <module name="ClassDataAbstractionCoupling">
- <property name="max" value="20" />
- </module>
+
+ <module name="BooleanExpressionComplexity" />
+ <module name="ClassDataAbstractionCoupling" />
+ <module name="ClassFanOutComplexity" />
+ <module name="CyclomaticComplexity" />
+ <module name="NPathComplexity" />
+ <module name="JavaNCSS" />
<!-- Miscellaneous -->
+
+ <module name="TodoComment">
+ <property name="format" value="TODO" />
+ </module>
<module name="UncommentedMain" />
<module name="UpperEll" />
<module name="ArrayTypeStyle" />
+<!-- <module name="FinalParameters" /> -->
+<!-- <module name="DescendantToken" /> -->
+<!--
+ <module name="Indentation">
+ <property name="caseIndent" value="0" />
+ </module>
+-->
+<!-- <module name="TrailingComment" /> -->
<module name="Regexp">
<property name="format" value="@author" />
<property name="illegalPattern" value="true" />
<module name="Regexp">
<property name="format" value="^ \* Copyright\(c\)" />
</module>
+ <module name="Regexp">
+ <property name="format" value="^ \* License : The MIT License" />
+ <property name="duplicateLimit" value="1" />
+ </module>
<!-- Modifiers -->
+
<module name="ModifierOrder" />
<module name="RedundantModifier" />
<!-- Naming Conventions -->
+
<module name="AbstractClassName">
- <property name="format" value="^Abstract.*$|^.*Factory|^.*Adapter$" />
+ <property
+ name="format"
+ value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
+ />
</module>
<module name="ClassTypeParameterName" />
<module name="ConstantName" />
<module name="LocalFinalVariableName">
- <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$" />
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
</module>
<module name="LocalVariableName">
- <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$" />
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
</module>
<module name="MemberName">
- <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$" />
- </module>
- <module name="MethodName">
- <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$" />
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
</module>
+ <module name="MethodName" />
<module name="MethodTypeParameterName" />
<module name="PackageName" />
<module name="ParameterName">
- <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$" />
- </module>
- <module name="StaticVariableName">
- <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$" />
+ <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
</module>
+ <module name="StaticVariableName" />
<module name="TypeName" />
<!-- Size Violations -->
- <module name="ExecutableStatementCount">
- <property name="max" value="150" />
- </module>
+
+ <module name="ExecutableStatementCount" />
<module name="LineLength">
<property name="max" value="78" />
</module>
- <module name="MethodLength">
- <property name="max" value="150" />
- </module>
- <module name="AnonInnerLength">
- <property name="max" value="150" />
- </module>
- <module name="ParameterNumber">
- <property name="max" value="7" />
- </module>
+ <module name="MethodLength" />
+ <module name="AnonInnerLength" />
+ <module name="ParameterNumber" />
<module name="OuterTypeNumber" />
<!-- Whitespace -->
+
<module name="GenericWhitespace" />
+ <module name="EmptyForInitializerPad" />
+ <module name="EmptyForIteratorPad" />
<module name="MethodParamPad">
- <property name="allowLineBreaks" value="false" />
- <property name="tokens" value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL" />
+ <property
+ name="tokens"
+ value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
+ />
</module>
<module name="NoWhitespaceAfter">
<property name="allowLineBreaks" value="false" />
</module>
<module name="ParenPad">
<property name="option" value="nospace" />
- <property name="tokens" value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL" />
- </module>
- <module name="TypecastParenPad">
- <property name="option" value="nospace" />
+ <property
+ name="tokens"
+ value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
+ />
</module>
+ <module name="TypecastParenPad" />
<module name="WhitespaceAfter">
<property name="tokens" value="COMMA, SEMI" />
</module>
SL, SR,
SL_ASSIGN, SR_ASSIGN,
MINUS, STAR, DIV, MOD,
- PLUS_ASSIGN, MINUS_ASSIGN, STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
+ PLUS_ASSIGN, MINUS_ASSIGN,
+ STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
EQUAL, NOT_EQUAL, GT, GE, LT, LE,
"
/>
</module>
-<!-- たまに確認したいチェック
-
-Coding
- <module name="MagicNumber" />
- <module name="NoClone" />
- <module name="IllegalCatch" />
- <module name="IllegalType" />
- <module name="MultipleStringLiterals" />
-
-Duplicate Code
- <module name="StrictDuplicateCode" />
-
-Metrics
- <module name="BooleanExpressionComplexity" />
- <module name="ClassFanOutComplexity" />
- <module name="CyclomaticComplexity" />
- <module name="NPathComplexity" />
- <module name="JavaNCSS" />
-
-Miscellaneous
- <module name="TodoComment">
- <property name="format" value="TODO" />
- </module>
- <module name="Indentation">
- <property name="basicOffset" value="4" />
- <property name="caseIndent" value="0" />
- </module>
- <module name="TrailingComment" />
-
--->
-
<!-- 代用品で解決
<module name="Header" />
<module name="RegexpSingleline" />
<module name="RegexpSinglelineJava" />
-->
-<!-- Mercurialでは使わない
- <module name="Regexp">
- <property name="format" value="^ \* \$Id:[^\$]*\$$" />
- <property name="duplicateLimit" value="1" />
- </module>
+<!-- バグ?
+ <module name="RequireThis" />
+-->
+<!-- 5.2 or later
+ <module name="InnerTypeLast" />
-->
-<!-- ボツチェック
- <module name="FinalLocalVariable" />
- <module name="DesignForExtension" />
- <module name="EqualsAvoidNull" />
- <module name="NoFinalizer" />
- <module name="DeclarationOrder" />
- <module name="ExplicitInitialization" />
- <module name="ImportControl" />
- <module name="WriteTag">
- <module name="Translation" />
- <module name="FinalParameters" />
- <module name="DescendantToken">
- <module name="EmptyForInitializerPad" />
- <module name="EmptyForIteratorPad" />
- <module name="SuppressWarnings">
+<!-- 5.3 or later
+ <module name="NestedForDepth" />
+ <module name="OneStatementPerLine" />
+ <module name="OuterTypeFilename" />
+ <module name="MethodCount" />
-->
-<!-- バグ?
- <module name="RequireThis" />
+<!-- Obsolated
<module name="TabCharacter" />
-->
</module>
+
</module>
<!-- EOF -->