Änderungen von Dokument Checkstyle u. Statische Codeanalyse

Zuletzt geändert von Celina Bock am 2025/09/17 10:43

Von Version 13.29
bearbeitet von Celina Bock
am 2025/07/08 10:26
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 15.1
bearbeitet von Celina Bock
am 2025/09/17 10:33
Änderungskommentar: Löschung des Anhangs Checktyle.xml

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Checkstyle
1 +Checkstyle u. Statische Codeanalyse
Inhalt
... ... @@ -17,7 +17,7 @@
17 17  
18 18  
19 19  * Inhalt der Checkstyle Konfiguration austauschen mit unserer Konfiguration. (% style="color:#c0392b" %)**Checkstyle Konfiguration findet sich unten unter Anhänge.**
20 -* **BeforeExecutionExclusionFileFilter **in der Konfiguration anpassen. Das enthaltene Regex filtert alle Dateien heraus, die nicht den genannten String enthalten. Das hat den Vorteil, wenn den Studierenden mehrere fertige Dateien zur Verfügung gestellt werden, diese nicht von Checkstyle geprüft werden. Dementsprechend werden im Regex nur Dateien gelistet, die von Studirenden bearbeitet werden. Nachteil ist, dass neue erstellte Dateien ggf auch nicht getestet werden. Falls das Filtern nicht erwünscht ist, das gesamte Modul auskommentieren!
20 +* **BeforeExecutionExclusionFileFilter **in der Konfiguration anpassen. Das enthaltene Regex filtert alle Dateien heraus, die nicht den genannten String enthalten. Das hat den Vorteil, wenn den Studierenden mehrere fertige Dateien zur Verfügung gestellt werden, diese nicht von Checkstyle geprüft werden. Dementsprechend werden im Regex nur Dateien gelistet, die von Studirenden bearbeitet werden. Nachteil ist, dass neue erstellte Dateien ggf auch nicht getestet werden. //Falls das Filtern nicht erwünscht ist, das gesamte Modul auskommentieren!//
21 21  
22 22  
23 23  
... ... @@ -36,4 +36,12 @@
36 36  [[image:1751961576022-284.png||data-xwiki-image-style-border="true"]]
37 37  
38 38  
39 +=== Mögliche Seiteneffekte ===
40 +
41 +Wenn eines der Plugins in dem Test Projekt entfernt wurde (pom.xml und Konfigurationsdatei), aber jedoch nicht das Build Skript angepasst wurde, kann es passieren, dass die verbliebenen Plugins keine Reports erstellen. Dementsprechend kann es sein, dass Checkstyle korrekt konfiguriert wurde, aber keine Ergebnisse mitgeteilt werden. Dies ist in der Oberfläche nicht ersichtlich!  Bei Problemen mit den genannten Plugins lohnt es sich den Build Log anzusehen. Die Weiterleitung zu unserem Build Agent lässt sich in der Übersicht mit den Einstellungen zur Aufgabe finden. Beim Click auf
42 +
43 +[[image:1751964547791-705.png||data-xwiki-image-style-border="true"]]
44 +
45 +
46 +
39 39  
Checktyle.xml
Author
... ... @@ -1,1 +1,0 @@
1 -xwiki:XWiki.id300818
Größe
... ... @@ -1,1 +1,0 @@
1 -5.8 KB
Inhalt
... ... @@ -1,159 +1,0 @@
1 -<?xml version="1.0"?>
2 -<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">
3 -
4 -
5 -<module name="Checker">
6 - <property name="severity" value="warning" />
7 -
8 - <property name="fileExtensions" value="java" />
9 -
10 - <!-- See https://checkstyle.org/filefilters/beforeexecutionexclusionfilefilter.html -->
11 -
12 - <module name="BeforeExecutionExclusionFileFilter">
13 - <!-- Filtert alle Dateien, die nicht SortedArray heißen -->
14 - <property name="fileNamePattern" value="^(?!.*([\\/])?(SortedArray)\.java$).*" />
15 - </module>
16 -
17 - <module name="TreeWalker">
18 - <property name="tabWidth" value="4" />
19 - <module name="JavadocMethod">
20 - <property name="accessModifiers" value="public" />
21 - </module>
22 - <module name="JavadocStyle">
23 - <property name="scope" value="public" />
24 - <property name="checkFirstSentence" value="false" />
25 - </module>
26 - <module name="LocalFinalVariableName" />
27 - <module name="LocalVariableName" />
28 - <module name="MemberName" />
29 - <module name="MethodName" />
30 - <module name="PackageName">
31 - </module>
32 - <module name="ParameterName" />
33 - <module name="StaticVariableName" />
34 - <module name="TypeName">
35 - </module>
36 - <module name="AvoidStarImport">
37 - </module>
38 - <module name="IllegalImport" />
39 - <module name="RedundantImport" />
40 - <module name="UnusedImports" />
41 - <module name="MethodLength">
42 - <property name="max" value="75" />
43 - </module>
44 - <module name="ParameterNumber">
45 - </module>
46 - <module name="EmptyForIteratorPad">
47 - </module>
48 - <module name="MethodParamPad">
49 - </module>
50 - <module name="NoWhitespaceAfter">
51 - <property name="tokens" value="LNOT,DOT,BNOT,DEC,UNARY_MINUS,UNARY_PLUS,INC,ARRAY_INIT" />
52 - <property name="severity" value="info" />
53 - </module>
54 - <module name="NoWhitespaceBefore">
55 - <property name="allowLineBreaks" value="true" />
56 - <property name="tokens" value="SEMI,DOT,POST_DEC,POST_INC" />
57 - <property name="severity" value="info" />
58 - </module>
59 - <module name="OperatorWrap">
60 - </module>
61 - <module name="ParenPad">
62 - </module>
63 - <module name="TypecastParenPad">
64 - </module>
65 - <module name="WhitespaceAfter">
66 - <property name="tokens" value="COMMA" />
67 - <property name="severity" value="info" />
68 - </module>
69 - <module name="WhitespaceAround">
70 - <property name="severity" value="info" />
71 - </module>
72 - <module name="AvoidNestedBlocks">
73 - </module>
74 - <module name="EmptyBlock">
75 - </module>
76 - <module name="LeftCurly">
77 - </module>
78 - <module name="NeedBraces">
79 - <property name="severity" value="info" />
80 - </module>
81 - <module name="EmptyStatement">
82 - </module>
83 - <module name="EqualsHashCode">
84 - </module>
85 - <module name="HiddenField">
86 - <property name="ignoreConstructorParameter" value="true" />
87 - <property name="ignoreSetter" value="true" />
88 - </module>
89 - <module name="InnerAssignment">
90 - </module>
91 - <module name="MissingSwitchDefault" />
92 - <module name="SimplifyBooleanExpression">
93 - <message key="simplify.expression" value="Der Ausdruck sollte vereinfacht werden." />
94 - </module>
95 - <module name="SimplifyBooleanReturn">
96 - </module>
97 - <module name="ArrayTypeStyle">
98 - </module>
99 - <module name="TodoComment">
100 - </module>
101 - <module name="UpperEll">
102 - </module>
103 - <module name="ReturnCount">
104 - <property name="max" value="8" />
105 - </module>
106 - <!-- <module name="MagicNumber">
107 - <metadata name="net.sf.eclipsecs.core.comment"
108 - value="-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9"/>
109 - <property name="ignoreNumbers" value="-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9"/>
110 - <property name="severity" value="info"/>
111 - </module> -->
112 - <module name="ReturnCount">
113 - <property name="max" value="4" />
114 - <message key="return.count"
115 - value="Möglichst nicht mehr als {1,number,integer} return-Anweisungen." />
116 - </module>
117 - <module name="JavadocType">
118 - <property name="authorFormat" value=".{2,}" />
119 - <message key="type.tagFormat" value="Autor sollte mindestens zwei Buchstaben haben" />
120 - </module>
121 - <module name="JavadocVariable">
122 - <property name="scope" value="public" />
123 - </module>
124 - <module name="ConstantName">
125 - <message key="name.invalidPattern"
126 - value="Nur Großbuchstaben, Zahlen und Unterstriche für Konstanten verwenden." />
127 - </module>
128 - <module name="ModifierOrder">
129 - </module>
130 - <module name="CyclomaticComplexity">
131 - <property name="max" value="20" />
132 - </module>
133 - <module name="NPathComplexity">
134 - <property name="max" value="80" />
135 - </module>
136 - <module name="RightCurly">
137 - </module>
138 - </module>
139 - <module name="LineLength">
140 - <property name="max" value="140" />
141 - <property name="fileExtensions" value="java" />
142 - <property name="ignorePattern"
143 - value="^package.*|^import.*|a href|href|http://|https://|ftp://" />
144 - </module>
145 -
146 -
147 - <module name="JavadocPackage" />
148 - <module name="FileLength">
149 - <property name="max" value="1000" />
150 - </module>
151 - <module name="FileTabCharacter">
152 - <property name="severity" value="info" />
153 - </module>
154 - <module name="RegexpHeader">
155 - <property name="header" value="^package" />
156 - <message key="header.mismatch" value="Angabe eines Packages fehlt." />
157 - </module>
158 -
159 -</module>
1751964547791-705.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.id300818
Größe
... ... @@ -1,0 +1,1 @@
1 +42.0 KB
Inhalt