Skip to content

Commit ae4cbf7

Browse files
authored
build: add new rules
Add new code validation rules.
2 parents 3a875a8 + 43ee813 commit ae4cbf7

File tree

2 files changed

+111
-33
lines changed

2 files changed

+111
-33
lines changed

phpcs.xml

Lines changed: 70 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,79 @@
11
<?xml version="1.0"?>
2+
<ruleset name="Coding Standards">
23

3-
<ruleset name="PHP Coding Standards">
4+
<description>Coding Standards</description>
45

5-
<description>PHP Coding Standards</description>
6+
<rule ref="PSR2"/>
67

7-
<rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
8+
<rule ref="Generic.Classes.DuplicateClassName"/>
9+
<rule ref="Generic.CodeAnalysis.EmptyStatement"/>
10+
<rule ref="Generic.CodeAnalysis.ForLoopShouldBeWhileLoop"/>
11+
<rule ref="Generic.CodeAnalysis.ForLoopWithTestFunctionCall"/>
12+
<rule ref="Generic.CodeAnalysis.JumbledIncrementer"/>
13+
<rule ref="Generic.CodeAnalysis.UnconditionalIfStatement"/>
14+
<rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
815
<rule ref="Generic.CodeAnalysis.UnusedFunctionParameter"/>
16+
<rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
17+
<rule ref="Generic.Commenting.Todo"/>
18+
<rule ref="Generic.Commenting.Fixme"/>
19+
<rule ref="Generic.ControlStructures.InlineControlStructure"/>
20+
<rule ref="Generic.Files.ByteOrderMark"/>
21+
<rule ref="Generic.Files.LineEndings"/>
22+
<rule ref="Generic.Files.LineLength">
23+
<properties>
24+
<property name="lineLimit" value="80"/>
25+
<property name="absoluteLineLimit" value="100"/>
26+
</properties>
27+
</rule>
28+
<rule ref="Generic.Formatting.DisallowMultipleStatements"/>
29+
<rule ref="Generic.Formatting.MultipleStatementAlignment"/>
30+
<rule ref="Generic.Formatting.SpaceAfterCast"/>
31+
<rule ref="Generic.Functions.CallTimePassByReference"/>
32+
<rule ref="Generic.Functions.FunctionCallArgumentSpacing"/>
33+
<rule ref="Generic.Metrics.CyclomaticComplexity">
34+
<properties>
35+
<property name="complexity" value="50"/>
36+
<property name="absoluteComplexity" value="100"/>
37+
</properties>
38+
</rule>
39+
<rule ref="Generic.Metrics.NestingLevel">
40+
<properties>
41+
<property name="nestingLevel" value="10"/>
42+
<property name="absoluteNestingLevel" value="30"/>
43+
</properties>
44+
</rule>
45+
<rule ref="Generic.NamingConventions.ConstructorName"/>
46+
<rule ref="Generic.PHP.LowerCaseConstant"/>
47+
<rule ref="Generic.PHP.DeprecatedFunctions"/>
48+
<rule ref="Generic.PHP.DisallowShortOpenTag"/>
49+
<rule ref="Generic.PHP.ForbiddenFunctions"/>
50+
<rule ref="Generic.PHP.NoSilencedErrors"/>
951
<rule ref="Generic.Strings.UnnecessaryStringConcat"/>
10-
11-
<rule ref="PSR2" />
52+
<rule ref="Generic.WhiteSpace.DisallowTabIndent"/>
53+
<rule ref="Generic.WhiteSpace.ScopeIndent">
54+
<properties>
55+
<property name="indent" value="4"/>
56+
<property name="tabIndent" value="true"/>
57+
</properties>
58+
</rule>
59+
<rule ref="MySource.PHP.EvalObjectFactory"/>
60+
<rule ref="PSR1.Classes.ClassDeclaration"/>
61+
<rule ref="PSR1.Files.SideEffects"/>
62+
<rule ref="PSR2.Classes.ClassDeclaration"/>
63+
<rule ref="PSR2.Classes.PropertyDeclaration"/>
64+
<rule ref="PSR2.ControlStructures.ControlStructureSpacing"/>
65+
<rule ref="PSR2.ControlStructures.ElseIfDeclaration"/>
66+
<rule ref="PSR2.ControlStructures.SwitchDeclaration"/>
67+
<rule ref="PSR2.Files.EndFileNewline"/>
68+
<rule ref="PSR2.Methods.MethodDeclaration"/>
69+
<rule ref="PSR2.Namespaces.NamespaceDeclaration"/>
70+
<rule ref="PSR2.Namespaces.UseDeclaration"/>
71+
<rule ref="Zend.Files.ClosingTag"/>
1272

13-
<exclude-pattern>node_modules</exclude-pattern>
14-
15-
<exclude-pattern>vendor</exclude-pattern>
73+
<arg name="colors"/>
74+
<arg value="spvnl"/>
75+
<ini name="memory_limit" value="128M"/>
1676

77+
<exclude-pattern>node_modules</exclude-pattern>
78+
<exclude-pattern>vendor</exclude-pattern>
1779
</ruleset>

phpmd.xml

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,38 @@
1-
<ruleset
2-
xmlns="http://pmd.sf.net/ruleset/1.0.0"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
5-
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
6-
<!--codesize-->
7-
<!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
1+
<ruleset name="PHPMD rule set"
2+
xmlns="http://pmd.sf.net/ruleset/1.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
5+
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
6+
<!--Clean Code Rules-->
7+
<rule ref="rulesets/cleancode.xml/BooleanArgumentFlag"/>
8+
<rule ref="rulesets/cleancode.xml/ElseExpression"/>
9+
<!--<rule ref="rulesets/cleancode.xml/StaticAccess"/>-->
10+
<rule ref="rulesets/cleancode.xml/IfStatementAssignment"/>
11+
<rule ref="rulesets/cleancode.xml/DuplicatedArrayKey"/>
12+
<rule ref="rulesets/cleancode.xml/MissingImport"/>
13+
<rule ref="rulesets/cleancode.xml/UndefinedVariable"/>
14+
<!--<rule ref="rulesets/cleancode.xml/ErrorControlOperator"/>-->
15+
<!--Code Size Rules-->
16+
<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>
817
<rule ref="rulesets/codesize.xml/NPathComplexity"/>
9-
<rule ref="rulesets/codesize.xml/ExcessiveClassComplexity"/>
10-
<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>
1118
<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>
19+
<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>
1220
<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>
1321
<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>
1422
<rule ref="rulesets/codesize.xml/TooManyFields"/>
1523
<rule ref="rulesets/codesize.xml/TooManyMethods"/>
16-
<!--design-->
17-
<rule ref="rulesets/design.xml/EvalExpression"/>
24+
<rule ref="rulesets/codesize.xml/TooManyPublicMethods"/>
25+
<rule ref="rulesets/codesize.xml/ExcessiveClassComplexity"/>
26+
<!--Controversial Rules-->
27+
<rule ref="rulesets/controversial.xml/Superglobals"/>
28+
<rule ref="rulesets/controversial.xml/CamelCaseClassName"/>
29+
<rule ref="rulesets/controversial.xml/CamelCasePropertyName"/>
30+
<rule ref="rulesets/controversial.xml/CamelCaseMethodName"/>
31+
<rule ref="rulesets/controversial.xml/CamelCaseParameterName"/>
32+
<rule ref="rulesets/controversial.xml/CamelCaseVariableName"/>
33+
<!--Design Rules-->
1834
<rule ref="rulesets/design.xml/ExitExpression"/>
35+
<rule ref="rulesets/design.xml/EvalExpression"/>
1936
<rule ref="rulesets/design.xml/GotoStatement"/>
2037
<rule ref="rulesets/design.xml/NumberOfChildren"/>
2138
<rule ref="rulesets/design.xml/DepthOfInheritance"/>
@@ -24,22 +41,21 @@
2441
<property name="minimum" value="14"/>
2542
</properties>
2643
</rule>
27-
<!--naming-->
44+
<rule ref="rulesets/design.xml/DevelopmentCodeFragment"/>
45+
<rule ref="rulesets/design.xml/EmptyCatchBlock"/>
46+
<rule ref="rulesets/design.xml/CountInLoopExpression"/>
47+
<!--Naming Rules-->
48+
<rule ref="rulesets/naming.xml/LongClassName"/>
49+
<rule ref="rulesets/naming.xml/ShortClassName"/>
50+
<rule ref="rulesets/naming.xml/ShortVariable"/>
51+
<rule ref="rulesets/naming.xml/LongVariable"/>
52+
<rule ref="rulesets/naming.xml/ShortMethodName"/>
53+
<rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass"/>
2854
<rule ref="rulesets/naming.xml/ConstantNamingConventions"/>
2955
<rule ref="rulesets/naming.xml/BooleanGetMethodName"/>
30-
<!--unusedcode-->
31-
<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>
32-
<rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
56+
<!--Unused Code Rules-->
3357
<rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
58+
<rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
3459
<rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
35-
<!--controversial-->
36-
<rule ref="rulesets/controversial.xml/Superglobals"/>
37-
<rule ref="rulesets/controversial.xml/CamelCaseClassName"/>
38-
<rule ref="rulesets/controversial.xml/CamelCasePropertyName"/>
39-
<rule ref="rulesets/controversial.xml/CamelCaseMethodName"/>
40-
<rule ref="rulesets/controversial.xml/CamelCaseParameterName"/>
41-
<rule ref="rulesets/controversial.xml/CamelCaseVariableName"/>
42-
<!--cleancode-->
43-
<rule ref="rulesets/cleancode.xml/BooleanArgumentFlag"/>
44-
<rule ref="rulesets/cleancode.xml/ElseExpression"/>
60+
<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>
4561
</ruleset>

0 commit comments

Comments
 (0)