i++ // Noncompliant
The form $i` creates a temporary variable whereas `$i does not. It save CPU cycles.
i++ // Noncompliant
++i
In some cases, it may be intentional to allow the use of i++, even if it is probably not far from a code smell.
Examples:
void bar(int value) {
// ...
}
int foo() {
int i = 0;
bar(i++);
return i;
}
or
private int i = 0;
int foo() {
return this.i++;
}
---