Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
14.10 /* no else needed */
#1
In rule 14.10 (all if..... else if constructs shall be terminated with an else clause":

is the /* no else needed */ comment on the single if block with no else a suggestion for use in code, where seems useful?
<t></t>
Reply
#2
IMHO, no, a simple if-statement without an else-clause need not be accompanied by a comment indicating the lack of an else-clause. Also, no empty else-clause shall be required. Especially when simple if-statements are encountered, such comments would clutter the code and impair understandability.
E.g.:
Code:
if (a == 1)
{
  call_come_function();
}
/* No else needed */
If the comment indicates _why_the else-clause is unneeded, that maybe helpful, but should be left to the developer or the code review.
Rule 14.10 explicitly refers to chained if ... else if ... else if ... statements, where for better clarity the braces around the subsequent if-statements are omitted. To compensate for the missing braces (and extra indentation), the final else-clause shall be provided.

Regards,

Johan
Reply
#3
The comment in the example indicates that no else clause is required in this case. It is not the intention of this rule to require such comments for a simple if statement that has no else clause.
Posted by and on behalf of the MISRA C Working Group
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)