-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathphpmd.xml
More file actions
115 lines (108 loc) · 4.24 KB
/
phpmd.xml
File metadata and controls
115 lines (108 loc) · 4.24 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
106
107
108
109
110
111
112
113
114
115
<?xml version="1.0"?>
<ruleset name="Strict PHPMD Ruleset"
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>Strict PHPMD ruleset with full coverage of all rule categories.</description>
<!-- Exclude patterns -->
<exclude-pattern>vendor/*</exclude-pattern>
<exclude-pattern>var/*</exclude-pattern>
<exclude-pattern>cache/*</exclude-pattern>
<exclude-pattern>migrations/*</exclude-pattern>
<exclude-pattern>tests/_output/*</exclude-pattern>
<exclude-pattern>tests/_data/*</exclude-pattern>
<exclude-pattern>tests/_support/_generated/*</exclude-pattern>
<exclude-pattern>proto/*</exclude-pattern>
<exclude-pattern>*/Scripts/*</exclude-pattern>
<!-- ======================= -->
<!-- Unused Code (Full) -->
<!-- ======================= -->
<rule ref="rulesets/unusedcode.xml"/>
<!-- ======================= -->
<!-- Clean Code (Full) -->
<!-- ======================= -->
<rule ref="rulesets/cleancode.xml">
<exclude name="StaticAccess"/>
</rule>
<rule ref="rulesets/cleancode.xml/StaticAccess">
<priority>1</priority>
<properties>
<!-- Common static factory patterns allowed -->
<property name="exceptions" value="
Symfony\Component\Uid\Uuid,
Symfony\Component\Intl\Countries,
Symfony\Component\Intl\Locales,
Carbon\Carbon,
Carbon\CarbonImmutable,
DateTime,
DateTimeImmutable
"/>
<!-- Allow static factory methods (from*, with*, create*, generate*, of*) -->
<property name="ignorepattern" value="/^(create|from|with|generate|of)/i"/>
</properties>
</rule>
<!-- ======================= -->
<!-- Controversial (Full) -->
<!-- ======================= -->
<rule ref="rulesets/controversial.xml"/>
<!-- ======================= -->
<!-- Naming Rules -->
<!-- ======================= -->
<rule ref="rulesets/naming.xml">
<exclude name="ShortVariable"/>
<exclude name="LongVariable"/>
</rule>
<rule ref="rulesets/naming.xml/ShortVariable">
<priority>3</priority>
<properties>
<property name="minimum" value="2"/>
</properties>
</rule>
<rule ref="rulesets/naming.xml/LongVariable">
<priority>3</priority>
<properties>
<property name="maximum" value="30"/>
</properties>
</rule>
<!-- ======================= -->
<!-- Design Rules -->
<!-- ======================= -->
<rule ref="rulesets/design.xml">
<exclude name="DevelopmentCodeFragment"/>
<exclude name="CouplingBetweenObjects"/>
</rule>
<rule ref="rulesets/design.xml/DevelopmentCodeFragment">
<priority>1</priority>
<properties>
<property name="unwanted-functions" value="var_dump,print_r,debug_zval_dump,debug_print_backtrace,dump,dd"/>
<property name="ignore-namespaces" value="true"/>
</properties>
</rule>
<rule ref="rulesets/design.xml/CouplingBetweenObjects">
<properties>
<property name="maximum" value="25"/>
</properties>
</rule>
<!-- ======================= -->
<!-- Code Size Rules -->
<!-- ======================= -->
<rule ref="rulesets/codesize.xml">
<exclude name="CyclomaticComplexity"/>
<exclude name="ExcessiveParameterList"/>
</rule>
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
<priority>2</priority>
<properties>
<property name="reportLevel" value="5"/>
<property name="showClassesComplexity" value="true"/>
<property name="showMethodsComplexity" value="true"/>
</properties>
</rule>
<rule ref="rulesets/codesize.xml/ExcessiveParameterList">
<priority>3</priority>
<properties>
<property name="minimum" value="10"/>
</properties>
</rule>
</ruleset>