OSDN Git Service

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