1 <?xml version="1.0" encoding="UTF-8" ?>
3 <!DOCTYPE module PUBLIC
4 "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
5 "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
10 Checkstyle 5.5 以降向けに記述。
12 [ http://checkstyle.sourceforge.net/ ]
14 Copyright(c) 2010 olyutorskii
18 <module name="Checker">
20 <property name="charset" value="UTF-8" />
21 <property name="localeCountry" value="JP" />
22 <property name="localeLanguage" value="ja" />
23 <property name="severity" value="error" />
27 <module name="SeverityMatchFilter" />
28 <!--module name="SuppressionFilter">
29 <property name="file" value="src/main/config/suppressions.xml" />
31 <module name="SuppressionCommentFilter" />
32 <module name="SuppressWithNearbyCommentFilter" />
35 <!-- Duplicate Code -->
36 <module name="StrictDuplicateCode">
37 <property name="min" value="20" />
42 <module name="RegexpHeader">
43 <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
44 <property name="multiLines" value="2" />
45 <property name="fileExtensions" value="java" />
49 <!-- Javadoc Comments -->
50 <module name="JavadocPackage" />
53 <!-- Miscellaneous -->
54 <module name="NewlineAtEndOfFile">
55 <property name="fileExtensions" value="java" />
57 <module name="Translation" />
61 <module name="RegexpSingleline">
62 <property name="format" value="\s+$" />
63 <property name="minimum" value="0" />
64 <property name="maximum" value="0" />
68 <!-- Size Violations -->
69 <module name="FileLength" />
73 <module name="FileTabCharacter" />
76 <module name="TreeWalker">
78 <module name="FileContentsHolder" />
83 <module name="AnnotationUseStyle" />
84 <module name="MissingDeprecated" />
85 <module name="MissingOverride" />
86 <module name="PackageAnnotation" />
87 <module name="SuppressWarnings" />
92 <module name="EmptyBlock" />
93 <module name="LeftCurly" />
94 <module name="NeedBraces">
95 <property name="tokens" value="LITERAL_DO" />
97 <module name="RightCurly" />
98 <module name="AvoidNestedBlocks" />
101 <!-- Class Design -->
103 <module name="VisibilityModifier" />
104 <module name="FinalClass" />
105 <module name="InterfaceIsType" />
106 <module name="HideUtilityClassConstructor" />
107 <!-- <module name="DesignForExtension" /> -->
108 <module name="MutableException" />
109 <module name="ThrowsCount">
110 <property name="max" value="4" />
112 <module name="InnerTypeLast" />
117 <module name="ArrayTrailingComma" />
118 <module name="AvoidInlineConditionals" />
119 <module name="CovariantEquals" />
120 <!-- <module name="DoubleCheckedLocking" /> 5.6 obsolete -->
121 <module name="EmptyStatement" />
122 <module name="EqualsAvoidNull" />
123 <module name="EqualsHashCode" />
124 <!-- <module name="FinalLocalVariable" /> -->
125 <module name="HiddenField">
126 <property name="ignoreConstructorParameter" value="true" />
127 <property name="ignoreSetter" value="true" />
128 <property name="ignoreAbstractMethods" value="true" />
130 <module name="IllegalInstantiation" />
131 <module name="IllegalToken">
132 <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
134 <module name="IllegalTokenText">
135 <property name="tokens" value="NUM_INT, NUM_LONG" />
136 <property name="format" value="^0[^lx]" />
137 <property name="ignoreCase" value="true" />
139 <module name="InnerAssignment" />
140 <module name="MagicNumber" />
141 <module name="MissingSwitchDefault" />
142 <module name="ModifiedControlVariable" />
143 <module name="RedundantThrows">
144 <property name="allowUnchecked" value="true" />
145 <property name="allowSubclasses" value="true" />
147 <module name="SimplifyBooleanExpression" />
148 <module name="SimplifyBooleanReturn" />
149 <module name="StringLiteralEquality" />
150 <module name="NestedForDepth" />
151 <module name="NestedIfDepth" />
152 <module name="NestedTryDepth" />
153 <module name="NoClone" />
154 <module name="NoFinalizer" />
155 <module name="SuperClone" />
156 <module name="SuperFinalize" />
157 <module name="IllegalCatch" />
158 <module name="IllegalThrows" />
159 <module name="PackageDeclaration" />
160 <module name="JUnitTestCase" />
161 <module name="ReturnCount">
162 <property name="max" value="5" />
164 <module name="IllegalType" />
165 <module name="DeclarationOrder" />
166 <module name="ParameterAssignment" />
167 <!-- <module name="ExplicitInitialization" /> -->
168 <module name="DefaultComesLast" />
169 <module name="MissingCtor" />
170 <module name="FallThrough" />
171 <module name="MultipleStringLiterals" />
172 <module name="MultipleVariableDeclarations" />
173 <module name="RequireThis">
174 <property name="checkMethods" value="false" />
176 <module name="UnnecessaryParentheses" />
177 <module name="OneStatementPerLine" />
182 <module name="AvoidStarImport" />
183 <module name="AvoidStaticImport" />
184 <module name="IllegalImport" />
185 <module name="RedundantImport" />
186 <module name="UnusedImports" />
187 <module name="ImportOrder" />
188 <!-- <module name="ImportControl" /> -->
191 <!-- Javadoc Comments -->
193 <module name="JavadocType" />
194 <module name="JavadocMethod" />
195 <module name="JavadocVariable">
196 <property name="scope" value="protected" />
198 <module name="JavadocStyle">
200 name="endOfSentenceFormat"
201 value="([。.?!][ \t\n\r\f<])|([。.?!]$)" />
202 <property name="checkEmptyJavadoc" value="true" />
203 <property name="checkHtml" value="true" />
205 <!-- <module name="WriteTag" /> -->
210 <module name="BooleanExpressionComplexity" />
211 <module name="ClassDataAbstractionCoupling" />
212 <module name="ClassFanOutComplexity" />
213 <module name="CyclomaticComplexity" />
214 <module name="NPathComplexity" />
215 <module name="JavaNCSS" />
218 <!-- Miscellaneous -->
220 <module name="TodoComment">
221 <property name="format" value="TODO" />
223 <module name="UncommentedMain" />
224 <module name="UpperEll" />
225 <module name="ArrayTypeStyle" />
226 <!-- <module name="FinalParameters" /> -->
227 <!-- <module name="DescendantToken" /> -->
229 <module name="Indentation">
230 <property name="caseIndent" value="0" />
233 <!-- <module name="TrailingComment" /> -->
234 <module name="Regexp">
235 <property name="format" value="@author" />
236 <property name="illegalPattern" value="true" />
238 <module name="Regexp">
239 <property name="format" value="^ \* Copyright\(c\)" />
241 <module name="Regexp">
242 <property name="format" value="^ \* License : The MIT License" />
243 <property name="duplicateLimit" value="1" />
245 <module name="OuterTypeFilename" />
250 <module name="ModifierOrder" />
251 <module name="RedundantModifier" />
254 <!-- Naming Conventions -->
256 <module name="AbstractClassName">
259 value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
262 <module name="ClassTypeParameterName" />
263 <module name="ConstantName" />
264 <module name="LocalFinalVariableName">
265 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
267 <module name="LocalVariableName">
268 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
270 <module name="MemberName">
271 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
273 <module name="MethodName" />
274 <module name="MethodTypeParameterName" />
275 <module name="PackageName" />
276 <module name="ParameterName">
277 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
279 <module name="StaticVariableName">
280 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
282 <module name="TypeName" />
285 <!-- Size Violations -->
287 <module name="ExecutableStatementCount" />
288 <module name="LineLength">
289 <property name="max" value="78" />
291 <module name="MethodLength" />
292 <module name="AnonInnerLength" />
293 <module name="ParameterNumber" />
294 <module name="OuterTypeNumber" />
295 <module name="MethodCount" />
300 <module name="GenericWhitespace" />
301 <module name="EmptyForInitializerPad" />
302 <module name="EmptyForIteratorPad" />
303 <module name="MethodParamPad">
306 value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
309 <module name="NoWhitespaceAfter">
310 <property name="allowLineBreaks" value="false" />
311 <property name="tokens" value="DEC, DOT, INC" />
313 <module name="NoWhitespaceBefore">
314 <property name="allowLineBreaks" value="false" />
315 <property name="tokens" value="POST_DEC, POST_INC" />
317 <module name="NoWhitespaceBefore">
318 <property name="allowLineBreaks" value="true" />
319 <property name="tokens" value="SEMI" />
321 <module name="OperatorWrap">
322 <property name="option" value="eol" />
326 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
327 PLUS_ASSIGN, MINUS_ASSIGN,
328 STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
329 SL_ASSIGN, SR_ASSIGN"
332 <module name="OperatorWrap">
333 <property name="option" value="nl" />
336 value="BAND, BOR, BXOR,
337 MINUS, STAR, DIV, MOD,
342 <module name="ParenPad">
343 <property name="option" value="nospace" />
346 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
349 <module name="TypecastParenPad" />
350 <module name="WhitespaceAfter">
351 <property name="tokens" value="COMMA, SEMI" />
353 <module name="WhitespaceAround">
358 BAND, BOR, BXOR, BSR,
359 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
361 SL_ASSIGN, SR_ASSIGN,
362 MINUS, STAR, DIV, MOD,
363 PLUS_ASSIGN, MINUS_ASSIGN,
364 STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
365 EQUAL, NOT_EQUAL, GT, GE, LT, LE,
372 <module name="Header" />
373 <module name="RegexpSingleline" />
374 <module name="RegexpMultiline" />
375 <module name="RegexpSinglelineJava" />
379 <module name="TabCharacter" />