55 xsi : schemaLocation =" http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
66 xsi : noNamespaceSchemaLocation =" http://pmd.sf.net/ruleset_xml_schema.xsd" >
77
8- <description >Custom PHPMD rules for WordPress plugins that excludes WordPress-specific patterns </description >
8+ <description >Custom PHPMD rules for WordPress plugins that excludes naming rules ( WordPress uses snake_case) </description >
99
10- <!-- Clean Code Rules (with WordPress exceptions) -->
11- <rule ref =" rulesets/cleancode.xml" >
12- <!-- Exclude ElseExpression - WordPress often requires else for security patterns -->
13- <exclude name =" ElseExpression" />
14- <!-- Exclude MissingImport - WordPress core classes are auto-loaded -->
15- <exclude name =" MissingImport" />
16- </rule >
10+ <!-- Clean Code Rules - Only include rules that don't conflict with WordPress -->
11+ <rule ref =" rulesets/cleancode.xml/BooleanArgumentFlag" />
12+ <rule ref =" rulesets/cleancode.xml/StaticAccess" />
13+ <!-- Skip ElseExpression for WordPress -->
14+ <!-- Skip MissingImport for WordPress -->
1715
18- <!-- Code Size Rules -->
19- <rule ref =" rulesets/codesize.xml" />
16+ <!-- Code Size Rules - Only include rules that make sense for WordPress -->
17+ <rule ref =" rulesets/codesize.xml/ExcessiveParameterList" />
18+ <rule ref =" rulesets/codesize.xml/ExcessivePublicCount" />
19+ <rule ref =" rulesets/codesize.xml/TooManyFields" />
20+ <rule ref =" rulesets/codesize.xml/TooManyMethods" />
21+ <rule ref =" rulesets/codesize.xml/TooManyPublicMethods" />
22+ <!-- Skip ExcessiveClassComplexity, ExcessiveMethodLength, CyclomaticComplexity, NPathComplexity for WordPress -->
2023
21- <!-- Controversial Rules (with WordPress exceptions) -->
22- <rule ref =" rulesets/controversial.xml" >
23- <!-- Exclude Superglobals - WordPress securely uses $_GET, $_POST, etc. -->
24- <exclude name =" Superglobals" />
25- </rule >
24+ <!-- Design Rules - Only include rules that make sense for WordPress -->
25+ <rule ref =" rulesets/design.xml/EvalExpression" />
26+ <rule ref =" rulesets/design.xml/GotoStatement" />
27+ <rule ref =" rulesets/design.xml/NumberOfChildren" />
28+ <rule ref =" rulesets/design.xml/DepthOfInheritance" />
29+ <rule ref =" rulesets/design.xml/CouplingBetweenObjects" />
30+ <!-- Skip ExitExpression for WordPress -->
2631
27- <!-- Design Rules (with WordPress exceptions) -->
28- <rule ref =" rulesets/design.xml" >
29- <!-- Exclude ExitExpression - Required for WordPress file downloads and redirects -->
30- <exclude name =" ExitExpression" />
31- </rule >
32+ <!-- Controversial Rules - Only safe ones for WordPress -->
33+ <!-- Skip Superglobals for WordPress -->
3234
33- <!-- Naming Rules -->
34- <rule ref =" rulesets/naming.xml" />
35-
36- <!-- Unused Code Rules -->
35+ <!-- Unused Code Rules - All are generally good -->
3736 <rule ref =" rulesets/unusedcode.xml" />
37+
38+ <!-- EXPLICITLY EXCLUDE ALL NAMING RULES -->
39+ <!-- WordPress uses snake_case which conflicts with PHPMD CamelCase requirements -->
40+ <!-- No naming rules are included in this configuration -->
3841
39- </ruleset >
42+ </ruleset >
0 commit comments