Do not use a semicolon on the same line as an if
, for
, or while
statement because it typically indicates programmer error and can result in unexpected behavior.
Noncompliant Code Example
In this noncompliant code example, a semicolon is used on the same line as an if
statement:
Code Block | ||||
---|---|---|---|---|
| ||||
if (a == b); { /* ... */ } |
Compliant Solution
It is likely, in this example, that the semicolon was accidentally inserted:
Code Block | ||||
---|---|---|---|---|
| ||||
if (a == b) { /* ... */ } |
Automated Detection
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
| SEMICOL |
|
Related Guidelines
CERT Oracle Secure Coding Standard for Java | 55. Do not place a semicolon immediately following an if, for, or while condition |
ISO/IEC TR 24772:2013 | Likely Incorrect Expression [KOA] |
MITRE CWE | CWE-480, Use of incorrect operator |
Bibliography
[Hatton 1995] | Section 2.7.2, "Errors of Omission and Addition" |