-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathphpmd.xml
More file actions
105 lines (91 loc) · 3.59 KB
/
Copy pathphpmd.xml
File metadata and controls
105 lines (91 loc) · 3.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<?xml version="1.0"?>
<ruleset name="PowerPHPBoard Rules"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>
PHPMD Regeln fuer PowerPHPBoard
</description>
<!-- Clean Code Rules -->
<rule ref="rulesets/cleancode.xml">
<!-- Static access ist OK fuer unsere Utility-Klassen -->
<exclude name="StaticAccess"/>
<!-- Else-Expression ist manchmal klarer -->
<exclude name="ElseExpression"/>
<!-- Boolean flags sind OK bei Utility-Methoden wie init(), validate() -->
<exclude name="BooleanArgumentFlag"/>
<!-- Error-Suppression (@) bewusst eingesetzt in Mailer (SMTP-Connect-
Fehler) und ErrorHandler (Logging-Failures im Test-/Shared-Setup). -->
<exclude name="ErrorControlOperator"/>
</rule>
<!-- Code Size Rules -->
<rule ref="rulesets/codesize.xml">
<!-- Angepasste Limits -->
<exclude name="TooManyPublicMethods"/>
<exclude name="ExcessiveClassComplexity"/>
</rule>
<!-- Eigene Limits fuer Methoden -->
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
<properties>
<property name="reportLevel" value="15"/>
</properties>
</rule>
<rule ref="rulesets/codesize.xml/NPathComplexity">
<properties>
<property name="minimum" value="300"/>
</properties>
</rule>
<rule ref="rulesets/codesize.xml/ExcessiveMethodLength">
<properties>
<property name="minimum" value="100"/>
</properties>
</rule>
<rule ref="rulesets/codesize.xml/ExcessiveClassLength">
<properties>
<property name="minimum" value="500"/>
</properties>
</rule>
<rule ref="rulesets/codesize.xml/ExcessiveParameterList">
<properties>
<property name="minimum" value="8"/>
</properties>
</rule>
<!-- Controversial Rules -->
<rule ref="rulesets/controversial.xml">
<!-- Superglobals sind in Legacy-Code notwendig -->
<exclude name="Superglobals"/>
<!-- CamelCase nicht erzwingen fuer Legacy-Kompatibilitaet -->
<exclude name="CamelCaseVariableName"/>
<exclude name="CamelCaseParameterName"/>
<exclude name="CamelCasePropertyName"/>
<exclude name="CamelCaseMethodName"/>
</rule>
<!-- Design Rules -->
<rule ref="rulesets/design.xml">
<!-- Exit ist in manchen Faellen gewollt -->
<exclude name="ExitExpression"/>
<!-- Eval wird nicht verwendet, aber Warnung ist zu streng -->
<exclude name="EvalExpression"/>
</rule>
<!-- Angepasstes Coupling -->
<rule ref="rulesets/design.xml/CouplingBetweenObjects">
<properties>
<property name="maximum" value="20"/>
</properties>
</rule>
<!-- Naming Rules -->
<rule ref="rulesets/naming.xml">
<!-- Kurze Variablen wie $i, $db sind OK -->
<exclude name="ShortVariable"/>
<!-- Lange Variablen sind OK wenn beschreibend -->
<exclude name="LongVariable"/>
<!-- Kurze Methodennamen wie get(), set() sind OK -->
<exclude name="ShortMethodName"/>
</rule>
<!-- Unused Code Rules -->
<rule ref="rulesets/unusedcode.xml">
<!-- Unused parameters koennen bei Interface-Implementierung vorkommen -->
<exclude name="UnusedFormalParameter"/>
</rule>
</ruleset>