AvoidDeeplyNestedIfStmts
Since: PMD 5.1
Priority: Medium (3)
Avoid creating deeply nested if-then statements since they are harder to read and error-prone to maintain.
This rule is defined by the following Java class: net.sourceforge.pmd.lang.vm.rule.design.AvoidDeeplyNestedIfStmtsRule
This rule has the following properties:
Name | Default Value | Description | Multivalued |
---|---|---|---|
problemDepth | 3 | The if statement depth reporting threshold | no |
Use this rule by referencing it:
<rule ref="category/vm/design.xml/AvoidDeeplyNestedIfStmts" />
CollapsibleIfStatements
Since: PMD 5.1
Priority: Medium (3)
Sometimes two consecutive ‘if’ statements can be consolidated by separating their conditions with a boolean short-circuit operator.
This rule is defined by the following Java class: net.sourceforge.pmd.lang.vm.rule.design.CollapsibleIfStatementsRule
Use this rule by referencing it:
<rule ref="category/vm/design.xml/CollapsibleIfStatements" />
ExcessiveTemplateLength
Since: PMD 5.1
Priority: Medium (3)
The template is too long. It should be broken up into smaller pieces.
This rule is defined by the following Java class: net.sourceforge.pmd.lang.vm.rule.design.ExcessiveTemplateLengthRule
This rule has the following properties:
Name | Default Value | Description | Multivalued |
---|---|---|---|
topscore | Top score value | no | |
minimum | Minimum reporting threshold | no | |
sigma | Sigma value | no |
Use this rule by referencing it:
<rule ref="category/vm/design.xml/ExcessiveTemplateLength" />
NoInlineJavaScript
Since: PMD 5.1
Priority: Medium High (2)
Avoid inline JavaScript. Import .js files instead.
This rule is defined by the following Java class: net.sourceforge.pmd.lang.vm.rule.design.NoInlineJavaScriptRule
Use this rule by referencing it:
<rule ref="category/vm/design.xml/NoInlineJavaScript" />
NoInlineStyles
Since: PMD 5.1
Priority: Medium High (2)
Avoid inline styles. Use css classes instead.
This rule is defined by the following XPath expression:
//Text[matches(@literal, "<[^>]+\s[sS][tT][yY][lL][eE]\s*=")]
Use this rule by referencing it:
<rule ref="category/vm/design.xml/NoInlineStyles" />