This commit is contained in:
trochas
2025-11-28 11:25:49 +01:00
parent 2d4f447c2d
commit 94bba66887
7 changed files with 205 additions and 0 deletions

View File

@@ -23,3 +23,37 @@ Use your rule with different projects and describe you findings below. See the [
## Answer
```xml
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="Nested If Ruleset"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
<description>
Ruleset pour détecter 3 niveaux (ou plus) de if imbriqués.
</description>
<rule name="nestedIfRule"
language="java"
message="nested If"
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
<description>
Three or more nested `if` !
</description>
<priority>3</priority>
<properties>
<property
name="xpath"
value =" //IfStatement[
descendant::IfStatement[
descendant::IfStatement
]
]"
/>
</properties>
</rule>
</ruleset>
```
en testant un programme Java, il détecte bien les imbrications de 'if' même s'ils ne sont pas directement imbriqués, séparés par un while par exemple