Skip to content

Commit e86e3ab

Browse files
authored
Upload checkstyle.xml
1 parent f15b81a commit e86e3ab

File tree

1 file changed

+286
-0
lines changed

1 file changed

+286
-0
lines changed

checkstyle.xml

Lines changed: 286 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,286 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE module PUBLIC
3+
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
4+
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
5+
6+
<!--
7+
Checkstyle configuration that checks Oracle coding conventions from:
8+
- the Java Language Specification at
9+
https://www.oracle.com/technetwork/java/codeconvtoc-136057.html
10+
- the Javadoc guidelines at
11+
https://www.oracle.com/technetwork/articles/java/index-137868.html
12+
Checkstyle is very configurable. Be sure to read the documentation at
13+
http://checkstyle.sf.net (or in your downloaded distribution).
14+
Most Checks are configurable, be sure to consult the documentation.
15+
To completely disable a check, just comment it out or delete it from the file.
16+
Finally, it is worth reading the documentation.
17+
-->
18+
19+
<module name="Checker">
20+
<property name="charset" value="UTF-8"/>
21+
22+
<property name="severity" value="error"/>
23+
24+
<property name="fileExtensions" value="java"/>
25+
26+
<!-- License Checks -->
27+
28+
<module name="Header">
29+
<property name="ignoreLines" value="4,5,6,7,8,9,10,11,12,13"/>
30+
</module>
31+
32+
<module name="LineLength">
33+
<property name="max" value="120"/>
34+
<property name="ignorePattern" value="^ *\* *[^ ]+$|^package.*|^import.*"/>
35+
</module>
36+
37+
<!--
38+
<module name="RegexpHeader">
39+
<property name="header" value="" />
40+
<property name="fileExtensions" value="java" />
41+
<message key="header.mismatch" value="No license" />
42+
<message key="header.missing" value="No license" />
43+
</module>
44+
-->
45+
46+
<module name="FileTabCharacter">
47+
<property name="eachLine" value="true"/>
48+
</module>
49+
50+
<module name="NewlineAtEndOfFile">
51+
<property name="lineSeparator" value="lf"/>
52+
</module>
53+
54+
<module name="TreeWalker">
55+
56+
<!-- Checks for Javadoc comments. -->
57+
<!-- See http://checkstyle.sf.net/config_javadoc.html -->
58+
<module name="JavadocTagContinuationIndentation"/>
59+
<module name="AtclauseOrder">
60+
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
61+
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
62+
</module>
63+
<module name="JavadocMethod">
64+
<property name="scope" value="public"/>
65+
<property name="allowMissingParamTags" value="true"/>
66+
<property name="allowMissingReturnTag" value="true"/>
67+
<property name="allowedAnnotations" value="Override, Test, Bean, ApiOperation, ExceptionHandler, ApiModelProperty"/>
68+
</module>
69+
<module name="MissingJavadocMethod">
70+
<property name="minLineCount" value="2"/>
71+
</module>
72+
<module name="JavadocType">
73+
<property name="allowedAnnotations" value="SpringBootApplication, Configuration, Bean, ApiModel"/>
74+
</module>
75+
<module name="JavadocVariable">
76+
<property name="scope" value="public"/>
77+
<property name="ignoreNamePattern" value="log|logger"/>
78+
</module>
79+
<module name="JavadocStyle">
80+
<property name="scope" value="public"/>
81+
<property name="checkFirstSentence" value="false"/>
82+
</module>
83+
84+
85+
<!-- Checks for Naming Conventions. -->
86+
<!-- See http://checkstyle.sf.net/config_naming.html -->
87+
<module name="PackageName">
88+
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
89+
<message key="name.invalidPattern"
90+
value="Package name ''{0}'' must match pattern ''{1}''."/>
91+
</module>
92+
<module name="TypeName">
93+
<property name="format" value="^[A-Z]([0-9, aA-zZ]+)[^Impl]*$"/>
94+
<message key="name.invalidPattern"
95+
value="Type name ''{0}'' must match pattern ''{1}''."/>
96+
</module>
97+
<module name="MemberName">
98+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
99+
<message key="name.invalidPattern"
100+
value="Member name ''{0}'' must match pattern ''{1}''."/>
101+
</module>
102+
<module name="ParameterName">
103+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
104+
<message key="name.invalidPattern"
105+
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
106+
</module>
107+
<module name="CatchParameterName">
108+
<property name="format" value="^(e||ex|[a-z][a-z][a-zA-Z]+)$"/>
109+
<message key="name.invalidPattern"
110+
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
111+
</module>
112+
<module name="LocalVariableName">
113+
<property name="tokens" value="VARIABLE_DEF"/>
114+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
115+
<property name="allowOneCharVarInForLoop" value="true"/>
116+
<message key="name.invalidPattern"
117+
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
118+
</module>
119+
<module name="ClassTypeParameterName">
120+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T, ^Impl]$)"/>
121+
<message key="name.invalidPattern"
122+
value="Class type name ''{0}'' must match pattern ''{1}''."/>
123+
</module>
124+
<module name="MethodTypeParameterName">
125+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
126+
<message key="name.invalidPattern"
127+
value="Method type name ''{0}'' must match pattern ''{1}''."/>
128+
</module>
129+
<module name="InterfaceTypeParameterName">
130+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
131+
<message key="name.invalidPattern"
132+
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
133+
</module>
134+
<module name="MethodName">
135+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
136+
<message key="name.invalidPattern"
137+
value="Method name ''{0}'' must match pattern ''{1}''."/>
138+
</module>
139+
<module name="ConstantName">
140+
<property name="format" value="^log(ger)?|[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$"/>
141+
</module>
142+
<module name="StaticVariableName"/>
143+
144+
145+
<!-- Checks for imports. -->
146+
<!-- See http://checkstyle.sf.net/config_import.html -->
147+
<module name="IllegalImport"/>
148+
<module name="RedundantImport"/>
149+
<module name="UnusedImports">
150+
<property name="processJavadoc" value="true"/>
151+
</module>
152+
<module name="ImportOrder">
153+
<property name="groups" value="java,/^javax?\./,*"/>
154+
<property name="ordered" value="true"/>
155+
<property name="separated" value="true"/>
156+
<property name="option" value="bottom"/>
157+
<property name="separatedStaticGroups" value="true"/>
158+
<property name="sortStaticImportsAlphabetically" value="true"/>
159+
</module>
160+
161+
162+
<!-- Checks for Size Violations. -->
163+
<!-- See http://checkstyle.sf.net/config_sizes.html -->
164+
<module name="MethodLength">
165+
<property name="max" value="50"/>
166+
</module>
167+
<module name="NestedIfDepth">
168+
<property name="max" value="3"/>
169+
</module>
170+
<module name="NestedTryDepth">
171+
<property name="max" value="2"/>
172+
</module>
173+
<!-- TODO: Необходимо тоже ввести ограничение -->
174+
<module name="ParameterNumber"/>
175+
176+
177+
<!-- Checks for whitespace. -->
178+
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
179+
<module name="SeparatorWrap">
180+
<property name="tokens" value="DOT"/>
181+
<property name="option" value="nl"/>
182+
</module>
183+
<module name="SeparatorWrap">
184+
<property name="tokens" value="COMMA"/>
185+
<property name="option" value="EOL"/>
186+
</module>
187+
<module name="MethodParamPad"/>
188+
<module name="OperatorWrap">
189+
<property name="option" value="EOL"/>
190+
<property name="tokens"
191+
value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, QUESTION, SL, SR, STAR "/>
192+
</module>
193+
<module name="NoLineWrap"/>
194+
<module name="WhitespaceAround">
195+
<property name="allowEmptyConstructors" value="true"/>
196+
<property name="allowEmptyMethods" value="true"/>
197+
<property name="allowEmptyTypes" value="true"/>
198+
<property name="allowEmptyLoops" value="true"/>
199+
<message key="ws.notFollowed"
200+
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
201+
<message key="ws.notPreceded"
202+
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
203+
</module>
204+
<module name="GenericWhitespace">
205+
<message key="ws.followed"
206+
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
207+
<message key="ws.preceded"
208+
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
209+
<message key="ws.illegalFollow"
210+
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
211+
<message key="ws.notPreceded"
212+
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
213+
</module>
214+
215+
216+
<!-- Modifier Checks. -->
217+
<!-- See http://checkstyle.sf.net/config_modifiers.html -->
218+
<module name="ModifierOrder"/>
219+
<module name="RedundantModifier"/>
220+
221+
222+
<!-- Checks for blocks. -->
223+
<!-- See http://checkstyle.sf.net/config_blocks.html -->
224+
<module name="EmptyBlock">
225+
<property name="option" value="TEXT"/>
226+
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
227+
</module>
228+
<module name="NeedBraces"/>
229+
<module name="RightCurly"/>
230+
<module name="RightCurly">
231+
<property name="option" value="alone"/>
232+
<property name="tokens"
233+
value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO, STATIC_INIT, INSTANCE_INIT"/>
234+
</module>
235+
<module name="EmptyCatchBlock">
236+
<property name="exceptionVariableName" value="expected"/>
237+
</module>
238+
239+
240+
<!-- Checks for Java Annotations. -->
241+
<!-- See http://checkstyle.sf.net/config_coding.html -->
242+
<module name="AnnotationLocation">
243+
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
244+
</module>
245+
<module name="AnnotationLocation">
246+
<property name="tokens" value="VARIABLE_DEF"/>
247+
<property name="allowSamelineMultipleAnnotations" value="true"/>
248+
</module>
249+
250+
251+
<!-- Checks for common coding problems. -->
252+
<!-- See http://checkstyle.sf.net/config_coding.html -->
253+
<module name="OneTopLevelClass"/>
254+
<module name="CommentsIndentation"/>
255+
256+
<module name="OuterTypeFilename"/>
257+
<module name="IllegalTokenText">
258+
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
259+
<property name="format"
260+
value="\\u00(08|09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
261+
<property name="message" value="Avoid using corresponding octal or Unicode escape."/>
262+
</module>
263+
<module name="AvoidEscapedUnicodeCharacters">
264+
<property name="allowEscapesForControlCharacters" value="true"/>
265+
<property name="allowByTailComment" value="true"/>
266+
<property name="allowNonPrintableEscapes" value="true"/>
267+
</module>
268+
269+
270+
<!-- Miscellaneous other checks. -->
271+
<!-- See http://checkstyle.sf.net/config_misc.html -->
272+
<module name="OneStatementPerLine"/>
273+
<module name="MultipleVariableDeclarations"/>
274+
<module name="ArrayTypeStyle"/>
275+
<module name="MissingSwitchDefault"/>
276+
<module name="FallThrough"/>
277+
<module name="UpperEll"/>
278+
<module name="NoFinalizer"/>
279+
<module name="AbbreviationAsWordInName">
280+
<property name="ignoreFinal" value="false"/>
281+
<property name="allowedAbbreviationLength" value="1"/>
282+
</module>
283+
<module name="OverloadMethodsDeclarationOrder"/>
284+
<module name="VariableDeclarationUsageDistance"/>
285+
</module>
286+
</module>

0 commit comments

Comments
 (0)