Objective
A C coding style which:
- is concise
- minimizes diffs for common maintenance and refactoring tasks
- is stable under automated indent tools (indent, uncrustify)
- is generally independent of brace-style
- easily greppable
Common Maintenance Tasks
- Modify a function declaration
- Modify a struct or enum
General
- No horizontal alignment (this includes comment boxes)
List elements
Function parameter lists
- Separate lines for:
- Return and storage type
- Function name
- Parameters
-
Comma-decl style for parameters
extern return_type_t Function( int param1 , int param2 , int param3 );
Enumerations
-
Mandatory last element
enum Enumeration { ZEROTH = , /**! Short description */ FIRST = 1, SECOND = 2,
/** Mandatory last element */ LAST };
Expressions
- Separate lines for each argument
-
New indent for each sub-expression
if (booleanA && booleanB || (booleanC && booleanD ) ) {
}