OSDN Git Service

coberture to Jacoco.
[mikutoga/TogaGem.git] / config / checkstyle / checkstyle.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.5 以降向けに記述。
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="config/checkstyle/checkstyle-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         <property name="fileExtensions" value="java" />
46     </module>
47
48
49     <!-- Javadoc Comments -->
50     <module name="JavadocPackage" />
51
52
53     <!-- Miscellaneous -->
54     <module name="NewlineAtEndOfFile">
55         <property name="fileExtensions" value="java" />
56     </module>
57     <module name="Translation" />
58
59
60     <!-- Regexp -->
61     <module name="RegexpSingleline">
62         <property name="format" value="\s+$" />
63         <property name="minimum" value="0" />
64         <property name="maximum" value="0" />
65     </module>
66
67
68     <!-- Size Violations -->
69     <module name="FileLength" />
70
71
72     <!-- Whitespace -->
73     <module name="FileTabCharacter" />
74
75
76     <module name="TreeWalker">
77
78         <module name="FileContentsHolder" />
79
80
81     <!-- Annotations -->
82
83         <module name="AnnotationUseStyle" />
84         <module name="MissingDeprecated" />
85         <module name="MissingOverride" />
86         <module name="PackageAnnotation" />
87         <module name="SuppressWarnings" />
88
89
90     <!-- Block Checks -->
91
92         <module name="EmptyBlock" />
93         <module name="LeftCurly" />
94         <module name="NeedBraces">
95             <property name="tokens" value="LITERAL_DO" />
96         </module>
97         <module name="RightCurly" />
98         <module name="AvoidNestedBlocks" />
99
100
101     <!-- Class Design -->
102
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" />
111         </module>
112         <module name="InnerTypeLast" />
113
114
115     <!-- Coding -->
116
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" />
129         </module>
130         <module name="IllegalInstantiation" />
131         <module name="IllegalToken">
132             <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
133         </module>
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" />
138         </module>
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" />
146         </module>
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" />
163         </module>
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" />
175         </module>
176         <module name="UnnecessaryParentheses" />
177         <module name="OneStatementPerLine" />
178
179
180     <!-- Imports -->
181
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" />  -->
189
190
191     <!-- Javadoc Comments -->
192
193         <module name="JavadocType" />
194         <module name="JavadocMethod" />
195         <module name="JavadocVariable">
196             <property name="scope" value="protected" />
197         </module>
198         <module name="JavadocStyle">
199             <property
200                 name="endOfSentenceFormat"
201                 value="([。.?!][ \t\n\r\f&lt;])|([。.?!]$)" />
202             <property name="checkEmptyJavadoc" value="true" />
203             <property name="checkHtml" value="true" />
204         </module>
205 <!--    <module name="WriteTag" />  -->
206
207
208     <!-- Metrics -->
209
210         <module name="BooleanExpressionComplexity" />
211         <module name="ClassDataAbstractionCoupling" />
212         <module name="ClassFanOutComplexity" />
213         <module name="CyclomaticComplexity" />
214         <module name="NPathComplexity" />
215         <module name="JavaNCSS" />
216
217
218     <!-- Miscellaneous -->
219
220         <module name="TodoComment">
221             <property name="format" value="TODO" />
222         </module>
223         <module name="UncommentedMain" />
224         <module name="UpperEll" />
225         <module name="ArrayTypeStyle" />
226 <!--    <module name="FinalParameters" />  -->
227 <!--    <module name="DescendantToken" />  -->
228 <!--
229         <module name="Indentation">
230             <property name="caseIndent" value="0" />
231         </module>
232 -->
233 <!--    <module name="TrailingComment" />  -->
234         <module name="Regexp">
235             <property name="format" value="@author" />
236             <property name="illegalPattern" value="true" />
237         </module>
238         <module name="Regexp">
239             <property name="format" value="^ \* Copyright\(c\)" />
240         </module>
241         <module name="Regexp">
242             <property name="format" value="^ \* License : The MIT License" />
243             <property name="duplicateLimit" value="1" />
244         </module>
245         <module name="OuterTypeFilename" />
246
247
248     <!-- Modifiers -->
249
250         <module name="ModifierOrder" />
251         <module name="RedundantModifier" />
252
253
254     <!-- Naming Conventions -->
255
256         <module name="AbstractClassName">
257             <property
258                 name="format"
259                 value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
260             />
261         </module>
262         <module name="ClassTypeParameterName" />
263         <module name="ConstantName" />
264         <module name="LocalFinalVariableName">
265             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
266         </module>
267         <module name="LocalVariableName">
268             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
269         </module>
270         <module name="MemberName">
271             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
272         </module>
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]*$" />
278         </module>
279         <module name="StaticVariableName">
280             <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
281         </module>
282         <module name="TypeName" />
283
284
285     <!-- Size Violations -->
286
287         <module name="ExecutableStatementCount" />
288         <module name="LineLength">
289             <property name="max" value="78" />
290         </module>
291         <module name="MethodLength" />
292         <module name="AnonInnerLength" />
293         <module name="ParameterNumber" />
294         <module name="OuterTypeNumber" />
295         <module name="MethodCount" />
296
297
298     <!-- Whitespace -->
299
300         <module name="GenericWhitespace" />
301         <module name="EmptyForInitializerPad" />
302         <module name="EmptyForIteratorPad" />
303         <module name="MethodParamPad">
304             <property
305                 name="tokens"
306                 value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
307             />
308         </module>
309         <module name="NoWhitespaceAfter">
310             <property name="allowLineBreaks" value="false" />
311             <property name="tokens" value="DEC, DOT, INC" />
312         </module>
313         <module name="NoWhitespaceBefore">
314             <property name="allowLineBreaks" value="false" />
315             <property name="tokens" value="POST_DEC, POST_INC" />
316         </module>
317         <module name="NoWhitespaceBefore">
318             <property name="allowLineBreaks" value="true" />
319             <property name="tokens" value="SEMI" />
320         </module>
321         <module name="OperatorWrap">
322             <property name="option" value="eol" />
323             <property
324                 name="tokens"
325                 value="ASSIGN,
326                        BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
327                        PLUS_ASSIGN, MINUS_ASSIGN,
328                        STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
329                        SL_ASSIGN, SR_ASSIGN"
330             />
331         </module>
332         <module name="OperatorWrap">
333             <property name="option" value="nl" />
334             <property
335                 name="tokens"
336                 value="BAND, BOR, BXOR,
337                        MINUS, STAR, DIV, MOD,
338                        LAND, LOR,
339                        EQUAL"
340             />
341         </module>
342         <module name="ParenPad">
343             <property name="option" value="nospace" />
344             <property
345                 name="tokens"
346                 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
347             />
348         </module>
349         <module name="TypecastParenPad" />
350         <module name="WhitespaceAfter">
351             <property name="tokens" value="COMMA, SEMI" />
352         </module>
353         <module name="WhitespaceAround">
354             <property
355                 name="tokens"
356                 value="ASSIGN,
357                        LAND, LOR,
358                        BAND, BOR, BXOR, BSR,
359                        BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN, BSR_ASSIGN,
360                        SL, SR,
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,
366                        "
367             />
368         </module>
369
370
371 <!-- 代用品で解決
372         <module name="Header" />
373         <module name="RegexpSingleline" />
374         <module name="RegexpMultiline" />
375         <module name="RegexpSinglelineJava" />
376 -->
377
378 <!-- Obsolated
379         <module name="TabCharacter" />
380 -->
381
382     </module>
383
384 </module>
385
386 <!-- EOF -->