OSDN Git Service

初回インポート
[jovsonz/Jovsonz.git] / src / main / config / checks.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!DOCTYPE module PUBLIC
4     "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
5     "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
6
7 <!--
8     Checkstyle用チェック項目定義。
9
10     Checkstyle 5.0 以降向けに記述。
11
12     [ http://checkstyle.sourceforge.net/ ]
13
14     Copyright(c) 2010 olyutorskii
15 -->
16
17
18 <module name="Checker">
19
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" />
24
25
26     <!-- Filters -->
27     <module name="SeverityMatchFilter" />
28     <module name="SuppressionFilter">
29         <property name="file" value="src/main/config/suppressions.xml" />
30     </module>
31     <module name="SuppressionCommentFilter" />
32     <module name="SuppressWithNearbyCommentFilter" />
33
34
35     <!-- Duplicate Code -->
36     <module name="StrictDuplicateCode">
37         <property name="min" value="20" />
38     </module>
39
40
41     <!-- Headers -->
42     <module name="RegexpHeader">
43         <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
44         <property name="multiLines" value="2" />
45     </module>
46
47
48     <!-- Javadoc Comments -->
49     <module name="JavadocPackage" />
50
51
52     <!-- Miscellaneous -->
53     <module name="NewlineAtEndOfFile" />
54     <module name="Translation" />
55
56
57     <!-- Regexp -->
58     <module name="RegexpSingleline">
59         <property name="format" value="\s+$" />
60         <property name="minimum" value="0" />
61         <property name="maximum" value="0" />
62     </module>
63
64
65     <!-- Size Violations -->
66     <module name="FileLength" />
67
68
69     <!-- Whitespace -->
70     <module name="FileTabCharacter" />
71
72
73     <module name="TreeWalker">
74
75         <module name="FileContentsHolder" />
76
77
78     <!-- Annotations -->
79
80         <module name="AnnotationUseStyle" />
81         <module name="MissingDeprecated" />
82         <module name="MissingOverride" />
83         <module name="PackageAnnotation" />
84         <module name="SuppressWarnings" />
85
86
87     <!-- Block Checks -->
88
89         <module name="EmptyBlock" />
90         <module name="LeftCurly" />
91         <module name="NeedBraces">
92             <property name="tokens" value="LITERAL_DO" />
93         </module>
94         <module name="RightCurly" />
95         <module name="AvoidNestedBlocks" />
96
97
98     <!-- Class Design -->
99
100         <module name="VisibilityModifier" />
101         <module name="FinalClass" />
102         <module name="InterfaceIsType" />
103         <module name="HideUtilityClassConstructor" />
104 <!--    <module name="DesignForExtension" />  -->
105         <module name="MutableException" />
106         <module name="ThrowsCount">
107             <property name="max" value="3" />
108         </module>
109
110
111     <!-- Coding -->
112
113         <module name="ArrayTrailingComma" />
114         <module name="AvoidInlineConditionals" />
115         <module name="CovariantEquals" />
116         <module name="DoubleCheckedLocking" />
117         <module name="EmptyStatement" />
118         <module name="EqualsAvoidNull" />
119         <module name="EqualsHashCode" />
120 <!--    <module name="FinalLocalVariable" />  -->
121         <module name="HiddenField">
122             <property name="ignoreConstructorParameter" value="true" />
123             <property name="ignoreSetter" value="true" />
124             <property name="ignoreAbstractMethods" value="true" />
125         </module>
126         <module name="IllegalInstantiation" />
127         <module name="IllegalToken">
128             <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
129         </module>
130         <module name="IllegalTokenText">
131             <property name="tokens" value="NUM_INT, NUM_LONG" />
132             <property name="format" value="^0[^lx]" />
133             <property name="ignoreCase" value="true" />
134         </module>
135         <module name="InnerAssignment" />
136         <module name="MagicNumber" />
137         <module name="MissingSwitchDefault" />
138         <module name="ModifiedControlVariable" />
139         <module name="RedundantThrows">
140             <property name="allowUnchecked" value="true" />
141             <property name="allowSubclasses" value="true" />
142         </module>
143         <module name="SimplifyBooleanExpression" />
144         <module name="SimplifyBooleanReturn" />
145         <module name="StringLiteralEquality" />
146         <module name="NestedIfDepth" />
147         <module name="NestedTryDepth" />
148         <module name="NoClone" />
149         <module name="NoFinalizer" />
150         <module name="SuperClone" />
151         <module name="SuperFinalize" />
152         <module name="IllegalCatch" />
153         <module name="IllegalThrows" />
154         <module name="PackageDeclaration" />
155         <module name="JUnitTestCase" />
156         <module name="ReturnCount">
157             <property name="max" value="5" />
158         </module>
159         <module name="IllegalType" />
160         <module name="DeclarationOrder" />
161         <module name="ParameterAssignment" />
162 <!--    <module name="ExplicitInitialization" />  -->
163         <module name="DefaultComesLast" />
164         <module name="MissingCtor" />
165         <module name="FallThrough" />
166         <module name="MultipleStringLiterals">
167             <property
168                 name="ignoreStringsRegexp"
169                 value="^&quot;&quot;$|^&quot;.&quot;$"
170             />
171         </module>
172         <module name="MultipleVariableDeclarations" />
173         <module name="UnnecessaryParentheses" />
174
175
176     <!-- Imports -->
177
178         <module name="AvoidStarImport" />
179         <module name="AvoidStaticImport" />
180         <module name="IllegalImport" />
181         <module name="RedundantImport" />
182         <module name="UnusedImports" />
183         <module name="ImportOrder" />
184 <!--    <module name="ImportControl" />  -->
185
186
187     <!-- Javadoc Comments -->
188
189         <module name="JavadocType" />
190         <module name="JavadocMethod" />
191         <module name="JavadocVariable">
192             <property name="scope" value="protected" />
193         </module>
194         <module name="JavadocStyle">
195             <property
196                 name="endOfSentenceFormat"
197                 value="([。.?!][ \t\n\r\f&lt;])|([。.?!]$)" />
198             <property name="checkEmptyJavadoc" value="true" />
199             <property name="checkHtml" value="true" />
200         </module>
201 <!--    <module name="WriteTag" />  -->
202
203
204     <!-- Metrics -->
205
206         <module name="BooleanExpressionComplexity" />
207         <module name="ClassDataAbstractionCoupling" />
208         <module name="ClassFanOutComplexity" />
209         <module name="CyclomaticComplexity" />
210         <module name="NPathComplexity" />
211         <module name="JavaNCSS" />
212
213
214     <!-- Miscellaneous -->
215
216         <module name="TodoComment">
217             <property name="format" value="TODO" />
218         </module>
219         <module name="UncommentedMain" />
220         <module name="UpperEll" />
221         <module name="ArrayTypeStyle" />
222 <!--    <module name="FinalParameters" />  -->
223 <!--    <module name="DescendantToken" />  -->
224 <!--
225         <module name="Indentation">
226             <property name="caseIndent" value="0" />
227         </module>
228 -->
229 <!--    <module name="TrailingComment" />  -->
230         <module name="Regexp">
231             <property name="format" value="@author" />
232             <property name="illegalPattern" value="true" />
233         </module>
234         <module name="Regexp">
235             <property name="format" value="^ \* Copyright\(c\)" />
236         </module>
237         <module name="Regexp">
238             <property name="format" value="^ \* License : The MIT License" />
239             <property name="duplicateLimit" value="1" />
240         </module>
241
242
243     <!-- Modifiers -->
244
245         <module name="ModifierOrder" />
246         <module name="RedundantModifier" />
247
248
249     <!-- Naming Conventions -->
250
251         <module name="AbstractClassName">
252             <property
253                 name="format"
254                 value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
255             />
256         </module>
257         <module name="ClassTypeParameterName" />
258         <module name="ConstantName" />
259         <module name="LocalFinalVariableName">
260             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
261         </module>
262         <module name="LocalVariableName">
263             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
264         </module>
265         <module name="MemberName">
266             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
267         </module>
268         <module name="MethodName" />
269         <module name="MethodTypeParameterName" />
270         <module name="PackageName" />
271         <module name="ParameterName">
272             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
273         </module>
274         <module name="StaticVariableName" />
275         <module name="TypeName" />
276
277
278     <!-- Size Violations -->
279
280         <module name="ExecutableStatementCount" />
281         <module name="LineLength">
282             <property name="max" value="78" />
283         </module>
284         <module name="MethodLength" />
285         <module name="AnonInnerLength" />
286         <module name="ParameterNumber" />
287         <module name="OuterTypeNumber" />
288
289
290     <!-- Whitespace -->
291
292         <module name="GenericWhitespace" />
293         <module name="EmptyForInitializerPad" />
294         <module name="EmptyForIteratorPad" />
295         <module name="MethodParamPad">
296             <property
297                 name="tokens"
298                 value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
299             />
300         </module>
301         <module name="NoWhitespaceAfter">
302             <property name="allowLineBreaks" value="false" />
303             <property name="tokens" value="DEC, DOT, INC" />
304         </module>
305         <module name="NoWhitespaceBefore">
306             <property name="allowLineBreaks" value="false" />
307             <property name="tokens" value="POST_DEC, POST_INC" />
308         </module>
309         <module name="NoWhitespaceBefore">
310             <property name="allowLineBreaks" value="true" />
311             <property name="tokens" value="SEMI" />
312         </module>
313         <module name="OperatorWrap">
314             <property name="option" value="eol" />
315             <property
316                 name="tokens"
317                 value="ASSIGN,
318                        BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
319                        PLUS_ASSIGN, MINUS_ASSIGN,
320                        STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
321                        SL_ASSIGN, SR_ASSIGN"
322             />
323         </module>
324         <module name="OperatorWrap">
325             <property name="option" value="nl" />
326             <property
327                 name="tokens"
328                 value="BAND, BOR, BXOR,
329                        MINUS, STAR, DIV, MOD,
330                        LAND, LOR,
331                        EQUAL"
332             />
333         </module>
334         <module name="ParenPad">
335             <property name="option" value="nospace" />
336             <property
337                 name="tokens"
338                 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
339             />
340         </module>
341         <module name="TypecastParenPad" />
342         <module name="WhitespaceAfter">
343             <property name="tokens" value="COMMA, SEMI" />
344         </module>
345         <module name="WhitespaceAround">
346             <property
347                 name="tokens"
348                 value="ASSIGN,
349                        LAND, LOR,
350                        BAND, BOR, BXOR, BSR,
351                        BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
352                        SL, SR,
353                        SL_ASSIGN, SR_ASSIGN,
354                        MINUS, STAR, DIV, MOD,
355                        PLUS_ASSIGN, MINUS_ASSIGN,
356                        STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
357                        EQUAL, NOT_EQUAL, GT, GE, LT, LE,
358                        "
359             />
360         </module>
361
362
363 <!-- 代用品で解決
364         <module name="Header" />
365         <module name="RegexpSingleline" />
366         <module name="RegexpMultiline" />
367         <module name="RegexpSinglelineJava" />
368 -->
369
370 <!-- バグ?
371         <module name="RequireThis" />
372 -->
373 <!-- 5.2 or later
374         <module name="InnerTypeLast" />
375 -->
376
377 <!-- 5.3 or later
378         <module name="NestedForDepth" />
379         <module name="OneStatementPerLine" />
380         <module name="OuterTypeFilename" />
381         <module name="MethodCount" />
382 -->
383
384 <!-- Obsolated
385         <module name="TabCharacter" />
386 -->
387
388     </module>
389
390 </module>
391
392 <!-- EOF -->