org.sonar.l10n.java.rules.squid.EmptyStatementUsageCheck.html Maven / Gradle / Ivy
Empty statements, i.e. ;
, are usually introduced by mistake, for example because:
- It was meant to be replaced by an actual statement, but this was forgotten.
- There was a typo which lead the semicolon to be doubled, i.e.
;;
.
Noncompliant Code Example
void doSomething() {
; // Noncompliant - was used as a kind of TODO marker
}
void doSomethingElse() {
System.out.println("Hello, world!");; // Noncompliant - double ;
...
for (int i = 0; i < 3; System.out.println(i), i++); // Noncompliant - Rarely, they are used on purpose as the body of a loop. It is a bad practice to have side-effects outside of the loop body
...
}
Compliant Solution
void doSomething() {}
void doSomethingElse() {
System.out.println("Hello, world!");
...
for (int i = 0; i < 3; i++){
System.out.println(i);
}
...
}
See
- MISRA C:2004, 14.3 - Before preprocessing, a null statement shall only occur on a line by itself; it may be followed by a comment provided that the first character following the null statement is a white-space character.
- MISRA C++:2008, 6-2-3 - Before preprocessing, a null statement shall only occur on a line by itself; it may be followed by a comment, provided that the first character following the null statement is a white-space character.
- CERT, MSC12-C - Detect and remove code that has no effect
- CERT, MSC12-CPP - Detect and remove code that has no effect
© 2015 - 2025 Weber Informatics LLC | Privacy Policy