resources.report.rules.pmd.JumbledIncrementer.html Maven / Gradle / Ivy
JumbledIncrementer
JumbledIncrementer
Avoid jumbled loop incrementers - its usually a mistake, and is confusing even if intentional.
//ForStatement
[
ForUpdate/StatementExpressionList/StatementExpression/PostfixExpression/PrimaryExpression/PrimaryPrefix/Name/@Image
=
ancestor::ForStatement/ForInit//VariableDeclaratorId/@Image
]
Example(s):
public class JumbledIncrementerRule1 {
public void foo() {
for (int i = 0; i < 10; i++) { // only references 'i'
for (int k = 0; k < 20; i++) { // references both 'i' and 'k'
System.out.println("Hello");
}
}
}
}