-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrulesets.xml
More file actions
109 lines (94 loc) · 3.62 KB
/
rulesets.xml
File metadata and controls
109 lines (94 loc) · 3.62 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
<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="Symfony Application PHPMD Ruleset"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
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>Custom PHPMD ruleset for Symfony application with DDD and Clean Architecture</description>
<!-- Import all rule sets -->
<rule ref="rulesets/cleancode.xml">
<!-- Disable rules that conflict with Symfony practices or are too strict -->
<exclude name="StaticAccess"/>
<exclude name="ElseExpression"/>
<exclude name="BooleanArgumentFlag"/>
<exclude name="MissingImport"/>
</rule>
<rule ref="rulesets/codesize.xml">
<exclude name="ExcessiveMethodLength"/>
<exclude name="ExcessiveClassLength"/>
<exclude name="ExcessiveParameterList"/>
<exclude name="TooManyMethods"/>
<exclude name="TooManyPublicMethods"/>
<exclude name="CyclomaticComplexity"/>
<exclude name="NPathComplexity"/>
</rule>
<!-- Customization of excluded rules -->
<rule ref="rulesets/codesize.xml/ExcessiveMethodLength">
<properties>
<property name="minimum" value="50"/>
</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="6"/>
</properties>
</rule>
<rule ref="rulesets/codesize.xml/TooManyMethods">
<properties>
<property name="maxmethods" value="20"/>
</properties>
</rule>
<rule ref="rulesets/codesize.xml/CyclomaticComplexity">
<properties>
<property name="reportLevel" value="15"/>
</properties>
</rule>
<rule ref="rulesets/controversial.xml">
<!-- Exclude rules that don't fit with Symfony patterns -->
<exclude name="CamelCasePropertyName"/>
<exclude name="CamelCaseParameterName"/>
<exclude name="CamelCaseVariableName"/>
</rule>
<rule ref="rulesets/design.xml">
<exclude name="CouplingBetweenObjects"/>
<exclude name="NumberOfChildren"/>
</rule>
<rule ref="rulesets/design.xml/CouplingBetweenObjects">
<properties>
<property name="maximum" value="15"/>
</properties>
</rule>
<rule ref="rulesets/naming.xml">
<exclude name="ShortVariable"/>
<exclude name="LongVariable"/>
<exclude name="ShortMethodName"/>
<exclude name="BooleanGetMethodName"/>
</rule>
<rule ref="rulesets/naming.xml/ShortVariable">
<properties>
<property name="minimum" value="2"/>
<property name="exceptions" value="id,em,qb,to,ip,io"/>
</properties>
</rule>
<rule ref="rulesets/naming.xml/LongVariable">
<properties>
<property name="maximum" value="40"/>
</properties>
</rule>
<rule ref="rulesets/naming.xml/ShortMethodName">
<properties>
<property name="minimum" value="2"/>
<property name="exceptions" value="up,to,id,on"/>
</properties>
</rule>
<rule ref="rulesets/unusedcode.xml">
<!-- Disable false positives with Doctrine entities or DI -->
<exclude name="UnusedPrivateField"/>
<exclude name="UnusedFormalParameter"/>
</rule>
</ruleset>