STATEMENTS

[Contents] [Prev] [Next]

7 - Statements

7.1 Simple Statements

Each line should contain at most one statement. Example:

argv++;       // Correct
argc--;       // Correct  
argv++; argc--;       // AVOID!

7.2 Compound Statements

Compound statements are statements that contain lists of statements enclosed in braces "{ statements }". See the following sections for examples.

  • The enclosed statements should be indented one more level than the compound statement.
  • The opening brace should be at the beginning of the line that starts the compound statement; the closing brace should begin a line and be indented to the beginning of the compound statement.
  • Braces are used around all statements, even single statements, when they are part of a control structure, such as a if-else or for statement. This makes it easier to add statements without accidentally introducing bugs due to forgetting to add braces.

7.3 return Statements

A return statement with a value should not use parentheses unless they make the return value more obvious in some way. Example:

return;

return my_disk.size();

7.4 if, if-else, if else-if else Statements

The if-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;
  }
}  
 

7.5 for Statements

A for statement should have the following form:

for (initialization; condition; update) 
{
  statements;
}

An empty for 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 a for statement, avoid the complexity of using more than three variables. If needed, use separate statements before the for loop (for the initialization clause) or at the end of the loop (for the update clause).

7.6 while Statements

A while statement should have the following form:

while (condition) 
{
  statements;
}

An empty while statement should have the following form:

while (condition)
{
;
}

7.7 do-while Statements

A do-while statement should have the following form:

do 
{
  statements;
} while (condition);

7.8 switch Statements

A switch statement should have the following form:

switch (condition) 
{
  case ABC:
  case DEF:
    statements;
    break;
  case XYZ:
    statements;
    break;
  default:
    statements;
    break;
}

Avoid a case falling through (doesn't include a break statement) unless the case does not have any statements (case ABC in the above example).

Every switch statement should include a default case. The break in the default case is redundant, but it prevents a fall-through error if later another case is added. The default case should be the last one.

7.9 try-catch Statements

A try-catch statement should have the following format:

try 
{
  statements;
} 
catch (ExceptionClass e) 
{
  statements;
}

A try-catch statement may also be followed by finally, which executes regardless of whether or not the try block has completed successfully.

try 
{
  statements;
} 
catch (ExceptionClass e) 
{
  statements;
} 
finally 
{
  statements;
}


[Contents] [Prev] [Next]