The information on this page is for Archive Purposes Only This page is not being actively maintained. Links within the documentation may not work and the information itself may no longer be valid. The last revision to this document was made on April 20, 1999 |
Each line should contain at most one statement. Example:
argv++; // Correctargc--; // Correct argv++; argc--; // AVOID!
Compound statements are statements that contain lists of statements enclosed in braces "{ statements }
". See the following sections for examples.
if-else
orfor
statement. This makes it easier to add statements without accidentally introducing bugs due to forgetting to add braces.Areturn
statement with a value should not use parentheses unless they make the return value more obvious in some way. Example:
return;return myDisk.size();return (size ? size : defaultSize);
Theif-else
class of statements should have the following form:
if (condition) {statements;}if (condition) {statements;} else {statements;}if (condition) {statements;} else if (condition) {statements;} else {statements;}
Note:if
statements always use braces,{}
. Avoid the following error-prone form:
if (condition) //AVOID! THIS OMITS THE BRACES {}!statement;
Afor
statement should have the following form:
for (initialization; condition; update) {statements;}
An emptyfor
statement (one in which all the work is done in the initialization, condition, and update clauses) should have the following form:
for (initialization; condition; update);
When using the comma operator in the initialization or update clause of afor
statement, avoid the complexity of using more than three variables. If needed, use separate statements before thefor
loop (for the initialization clause) or at the end of the loop (for the update clause).
Awhile
statement should have the following form:
while (condition) {statements;}
An emptywhile
statement should have the following form:
while (condition);
Ado-while
statement should have the following form:
do {statements;} while (condition);
Aswitch
statement should have the following form:
switch (condition) {case ABC:statements;/* falls through */case DEF:statements;break;case XYZ:statements;break;default:statements;break;}
Every time a case falls through (doesn't include abreak
statement), add a comment where thebreak
statement would normally be. This is shown in the preceding code example with the/* falls through */
comment.
Everyswitch
statement should include a default case. Thebreak
in the default case is redundant, but it prevents a fall-through error if later anothercase
is added.
Atry-catch
statement should have the following format:
try {statements;} catch (ExceptionClass e) {statements;}
Atry-catch
statement may also be followed byfinally
, which executes regardless of whether or not thetry
block has completed successfully.
try {statements;} catch (ExceptionClass e) {statements;} finally {statements;}