Curly braces
============
-Omit the curly braces around an "if", "while", "for" etc. body only when that
-body occupies a single line. In every other case we require the braces. This
-ensures that it is trivially easy to identify a single-'statement' loop: each
-has only one 'line' in its body.
+Omit the curly braces around an "if", "while", "for" etc. body only when both
+that body and the condition itself occupy a single line. In every other case
+we require the braces. This ensures that it is trivially easy to identify a
+single-'statement' loop: each has only one 'line' in its body.
-Omitting braces with a single-line body is fine:
+ while (expr) // single line body; {} is forbidden
+ single_line_stmt();
+
+ while (expr(arg1,
+ arg2)) // indentation makes it obvious it is single line,
+ single_line_stmt(); // {} is optional (not enforced either way)
- while (expr) // one-line body -> omitting curly braces is ok
+ while (expr1 &&
+ expr2) // multi-line, at same indentation, {} required
single_line_stmt();
However, the moment your loop/if/else body extends on to a second line, for
<p>
Omit the curly braces around an <code>if</code>, <code>while</code>,
- <code>for</code> etc. body only
- when that body occupies a single line. In every other case we require
+ <code>for</code> etc. body only when both that body and the condition
+ itself occupy a single line. In every other case we require
the braces. This ensures that it is trivially easy to identify a
single-<i>statement</i> loop: each has only one <i>line</i> in its body.
</p>
- <p>
- Omitting braces with a single-line body is fine:
- </p>
<pre>
- while (expr) // one-line body -> omitting curly braces is ok
+ while (expr) // single line body; {} is forbidden
+ single_line_stmt();
+</pre>
+
+<pre>
+ while (expr(arg1,
+ arg2)) // indentation makes it obvious it is single line,
+ single_line_stmt(); // {} is optional (not enforced either way)
+</pre>
+
+<pre>
+ while (expr1 &&
+ expr2) // multi-line, at same indentation, {} required
single_line_stmt();
</pre>