MISRA C++:2008 Rule 2-7-3
Sections of code should not be "commented out" using C++-style comments
Since R2020b
Description
Rule Definition
Sections of code should not be "commented out" using C++-style comments.
Rationale
Commenting out code is not a good practice. The commented out code can remain out of sync with the surrounding code without causing compilation errors. Later, if you uncomment the code, you can encounter unexpected issues.
Use comments only to explain aspects of the code that are not apparent from the code itself.
Polyspace Implementation
The checker uses internal heuristics to detect commented out code. For instance,
characters such as #
, ;
, {
or
}
indicate comments that might potentially contain code. These comments
are then evaluated against other metrics to determine the likelihood of code masquerading as
comment. For instance, several successive words without a symbol in between reduces this
likelihood.
The checker does not flag the following comments even if they contain code:
Doxygen comments beginning with
///
or//!
.Comments that repeat the same symbol several times, for instance, the symbol
=
here:// ===================================== // A comment // =====================================*/
Comments on the first line of a file.
Comments that mix the C style (
/* */
) and C++ style (//
).
The checker considers that these comments are meant for documentation purposes or entered deliberately with some forethought.
Troubleshooting
If you expect a rule violation but Polyspace® does not report it, see Diagnose Why Coding Standard Violations Do Not Appear as Expected.
Examples
Check Information
Group: Lexical Conventions |
Category: Advisory |
Version History
Introduced in R2020b