Brace and parenthesize in K&R style. [ Bracketing ]
Separate your control keywords from the following opening bracket. [ Keywords ]
Don''t separate subroutine or variable names from the following opening bracket. [ Subroutines and Variables ]
Don''t use unnecessary parentheses for builtins and "honorary" builtins. [ Builtins ]
Separate complex keys or indices from their surrounding brackets. [ Keys and Indices ]
Use whitespace to help binary operators stand out from their operands. [ Operators ]
Place a semicolon after every statement. [ Semicolons ]
Place a comma after every value in a multiline list. [ Commas ]
Use 78-column lines. [ Line Lengths ]
Use four-column indentation levels. [ Indentation ]
Indent with spaces, not tabs. [ Tabs ]
Never place two statements on the same line. [ Blocks ]
Code in paragraphs. [ Chunking ]
Don''t cuddle an else. [ Elses ]
Align corresponding items vertically. [ Vertical Alignment ]
Break long expressions before an operator. [ Breaking Long Lines ]
Factor out long expressions in the middle of statements. [ Non-Terminal Expressions ]
Always break a long expression at the operator of the lowest possible precedence. [ Breaking by Precedence ]
Break long assignments before the assignment operator. [ Assignments ]
Format cascaded ternary operators in columns. [ Ternaries ]
Parenthesize long lists. [ Lists ]
Enforce your chosen layout style mechanically. [ Automated Layout ]