Do not leave whitespace dangling off the ends of lines.
+1.1 Multiline Indent
+
+There are several places where indent is necessary:
+
+ - if/else
+ - while/for
+ - function definition & call
+
+When breaking up a long line to fit within line width, we need a proper indent
+for the following lines.
+
+In case of if/else, while/for, align the secondary lines just after the
+opening parenthesis of the first.
+
+For example:
+
+ if (a == 1 &&
+ b == 2) {
+
+ while (a == 1 &&
+ b == 2) {
+
+In case of function, there are several variants:
+
+ * 4 spaces indent from the beginning
+ * align the secondary lines just after the opening parenthesis of the
+ first
+
+For example:
+
+ do_something(x, y,
+ z);
+
+ do_something(x, y,
+ z);
+
+ do_something(x, do_another(y,
+ z));
+
2. Line width
Lines should be 80 characters; try not to make them longer.
When comparing a variable for (in)equality with a constant, list the
constant on the right, as in:
-if (a == 1) {
- /* Reads like: "If a equals 1" */
- do_something();
-}
+ if (a == 1) {
+ /* Reads like: "If a equals 1" */
+ do_something();
+ }
Rationale: Yoda conditions (as in 'if (1 == a)') are awkward to read.
Besides, good compilers already warn users when '==' is mis-typed as '=',