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 6.1 以降向けに記述。
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="SuppressionCommentFilter" />
29 <module name="SuppressionFilter">
30 <property name="file" value="src/main/config/suppressions.xml" />
32 <module name="SuppressWarningsFilter" />
33 <module name="SuppressWithNearbyCommentFilter" />
37 <module name="RegexpHeader">
38 <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
39 <property name="multiLines" value="2" />
40 <property name="fileExtensions" value="java" />
44 <!-- Javadoc Comments -->
45 <module name="JavadocPackage" />
48 <!-- Miscellaneous -->
49 <module name="NewlineAtEndOfFile">
50 <property name="fileExtensions" value="java" />
52 <module name="Translation" />
53 <module name="UniqueProperties" />
57 <module name="RegexpMultiline">
58 <property name="format" value="[\u000b\f\u001a]" />
60 <!--<module name="RegexpOnFilename" /> 6.15 or later -->
61 <module name="RegexpSingleline">
62 <property name="format" value="\s+$" />
64 <module name="RegexpSingleline">
66 <property name="format" value="<<<<<" />
70 <!-- Size Violations -->
71 <module name="FileLength">
72 <property name="max" value="2000"/>
77 <module name="FileTabCharacter" />
80 <module name="TreeWalker">
82 <property name="tabWidth" value="8"/>
87 <module name="AnnotationLocation" />
88 <module name="AnnotationUseStyle" />
89 <module name="MissingDeprecated" />
90 <module name="MissingOverride" />
91 <module name="PackageAnnotation" />
92 <module name="SuppressWarnings" />
93 <module name="SuppressWarningsHolder" />
97 <module name="AvoidNestedBlocks" />
98 <module name="EmptyBlock" />
99 <!-- <module name="EmptyCatchBlock" /> 6.4 or later -->
100 <module name="LeftCurly" />
101 <module name="NeedBraces">
102 <property name="tokens" value="LITERAL_DO" />
104 <module name="RightCurly" />
107 <!-- Class Design -->
109 <module name="DesignForExtension" />
110 <module name="FinalClass" />
111 <module name="HideUtilityClassConstructor" />
112 <module name="InnerTypeLast" />
113 <module name="InterfaceIsType" />
114 <module name="MutableException" />
115 <module name="OneTopLevelClass" />
116 <module name="ThrowsCount">
117 <property name="max" value="4" />
119 <module name="VisibilityModifier" />
124 <module name="ArrayTrailingComma" />
125 <module name="AvoidInlineConditionals" />
126 <module name="CovariantEquals" />
127 <module name="DeclarationOrder" />
128 <module name="DefaultComesLast" />
129 <module name="EmptyStatement" />
130 <module name="EqualsAvoidNull" />
131 <module name="EqualsHashCode" />
132 <module name="ExplicitInitialization" />
133 <module name="FallThrough" />
134 <module name="FinalLocalVariable" />
135 <module name="HiddenField">
136 <property name="ignoreConstructorParameter" value="true" />
137 <property name="ignoreSetter" value="true" />
138 <property name="ignoreAbstractMethods" value="true" />
140 <module name="IllegalCatch" />
141 <module name="IllegalInstantiation" />
142 <module name="IllegalThrows" />
143 <module name="IllegalToken">
144 <property name="tokens" value="LITERAL_NATIVE" />
146 <module name="IllegalTokenText">
147 <property name="tokens" value="NUM_INT, NUM_LONG" />
148 <property name="format" value="^0_*[0-7]" />
149 <property name="message" value="inhibit octal number" />
151 <module name="IllegalType" />
152 <module name="InnerAssignment" />
153 <module name="MagicNumber" />
154 <module name="MissingCtor" />
155 <module name="MissingSwitchDefault" />
156 <module name="ModifiedControlVariable" />
157 <module name="MultipleStringLiterals" />
158 <module name="MultipleVariableDeclarations" />
159 <module name="SimplifyBooleanExpression" />
160 <module name="SimplifyBooleanReturn" />
161 <module name="StringLiteralEquality" />
162 <module name="NestedForDepth" />
163 <module name="NestedIfDepth" />
164 <module name="NestedTryDepth" />
165 <module name="NoClone" />
166 <module name="NoFinalizer" />
167 <module name="OneStatementPerLine" />
168 <module name="OverloadMethodsDeclarationOrder" />
169 <module name="PackageDeclaration" />
170 <module name="ParameterAssignment" />
171 <module name="RequireThis">
172 <property name="checkMethods" value="false" />
174 <module name="ReturnCount">
175 <property name="max" value="5" />
177 <module name="SimplifyBooleanExpression" />
178 <module name="SimplifyBooleanReturn" />
179 <module name="StringLiteralEquality" />
180 <module name="SuperClone" />
181 <module name="SuperFinalize" />
182 <module name="UnnecessaryParentheses" />
183 <module name="VariableDeclarationUsageDistance">
184 <property name="allowedDistance" value="5" />
190 <module name="AvoidStarImport" />
191 <module name="AvoidStaticImport" />
192 <module name="CustomImportOrder" />
193 <module name="IllegalImport" />
194 <module name="ImportControl" />
195 <module name="ImportOrder" />
196 <module name="RedundantImport" />
197 <module name="UnusedImports" />
200 <!-- Javadoc Comments -->
202 <module name="AtclauseOrder" />
203 <module name="JavadocMethod" />
204 <module name="JavadocParagraph" />
205 <module name="JavadocStyle">
207 name="endOfSentenceFormat"
208 value="([。.?!][ \t\n\r\f<])|([。.?!]$)" />
209 <property name="checkEmptyJavadoc" value="true" />
210 <property name="checkHtml" value="true" />
212 <module name="JavadocTagContinuationIndentation" />
213 <module name="JavadocType" />
214 <module name="JavadocVariable">
215 <property name="scope" value="protected" />
217 <module name="NonEmptyAtclauseDescription" />
218 <module name="SingleLineJavadoc" />
219 <module name="SummaryJavadocCheck" />
220 <module name="WriteTag" />
225 <module name="BooleanExpressionComplexity" />
226 <module name="ClassDataAbstractionCoupling" />
227 <module name="ClassFanOutComplexity" />
228 <module name="CyclomaticComplexity" />
229 <module name="JavaNCSS" />
230 <module name="NPathComplexity" />
233 <!-- Miscellaneous -->
235 <module name="ArrayTypeStyle" />
236 <module name="AvoidEscapedUnicodeCharacters">
237 <property name="allowEscapesForControlCharacters" value="true"/>
238 <property name="allowByTailComment" value="true"/>
239 <property name="allowIfAllCharactersEscaped" value="true"/>
240 <property name="allowNonPrintableEscapes" value="true"/>
242 <!-- <module name="CommentsIndentation" /> 6.10 or later -->
243 <module name="DescendantToken" />
244 <module name="FileContentsHolder" />
245 <module name="FinalParameters" />
246 <module name="Indentation">
247 <property name="caseIndent" value="0" />
249 <module name="OuterTypeFilename" />
250 <module name="TodoComment">
251 <property name="format" value="TODO" />
253 <module name="TrailingComment" />
254 <module name="UncommentedMain" />
255 <module name="UpperEll" />
260 <module name="ModifierOrder" />
261 <module name="RedundantModifier" />
264 <!-- Naming Conventions -->
266 <module name="AbbreviationAsWordInName" />
267 <module name="AbstractClassName">
270 value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
273 <!-- <module name="CatchParameterName" /> 6.14 or later -->
274 <module name="ClassTypeParameterName" />
275 <module name="ConstantName" />
276 <module name="InterfaceTypeParameterName" />
277 <module name="LocalFinalVariableName">
278 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
280 <module name="LocalVariableName">
281 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
283 <module name="MemberName">
284 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
286 <module name="MethodName" />
287 <module name="MethodTypeParameterName" />
288 <module name="PackageName" />
289 <module name="ParameterName">
290 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
292 <module name="StaticVariableName">
293 <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
295 <module name="TypeName" />
300 <module name="Regexp">
301 <property name="format" value="@author" />
302 <property name="illegalPattern" value="true" />
304 <module name="Regexp">
305 <property name="format" value="^ \* Copyright\(c\)" />
307 <module name="Regexp">
308 <property name="format" value="^ \* License : The MIT License" />
309 <property name="duplicateLimit" value="1" />
311 <module name="RegexpSinglelineJava">
312 <property name="format" value="\u0000" />
316 <!-- Size Violations -->
318 <module name="AnonInnerLength" />
319 <module name="ExecutableStatementCount" />
320 <module name="LineLength">
321 <property name="max" value="78" />
323 <module name="MethodCount" />
324 <module name="MethodLength" />
325 <module name="OuterTypeNumber" />
326 <module name="ParameterNumber" />
331 <module name="EmptyForInitializerPad" />
332 <module name="EmptyForIteratorPad" />
333 <module name="EmptyLineSeparator">
348 <module name="GenericWhitespace" />
349 <module name="MethodParamPad">
352 value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
355 <module name="NoLineWrap" />
356 <module name="NoWhitespaceAfter">
357 <property name="allowLineBreaks" value="false" />
358 <property name="tokens" value="INC, DEC, DOT" />
360 <module name="NoWhitespaceBefore">
361 <property name="allowLineBreaks" value="false" />
362 <property name="tokens" value="COMMA, POST_INC, POST_DEC" />
364 <module name="NoWhitespaceBefore">
365 <property name="allowLineBreaks" value="true" />
366 <property name="tokens" value="SEMI" />
368 <module name="OperatorWrap">
369 <property name="option" value="eol" />
373 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
374 PLUS_ASSIGN, MINUS_ASSIGN,
375 STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
376 SL_ASSIGN, SR_ASSIGN, BSR_ASSIGN"
379 <module name="OperatorWrap">
380 <property name="option" value="nl" />
385 PLUS, MINUS, STAR, DIV, MOD,
390 <module name="ParenPad">
391 <property name="option" value="nospace" />
394 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
397 <module name="SeparatorWrap">
398 <property name="tokens" value="DOT" />
399 <property name="option" value="nl" />
401 <module name="TypecastParenPad" />
402 <module name="WhitespaceAfter" />
403 <module name="WhitespaceAround">
408 BAND, BOR, BXOR, BSR,
409 BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
411 SL_ASSIGN, SR_ASSIGN,
412 MINUS, STAR, DIV, MOD,
413 PLUS_ASSIGN, MINUS_ASSIGN,
414 STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
415 EQUAL, NOT_EQUAL, GT, GE, LT, LE,