MinimalistCodeStyle

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
);

$[Get Code]1

Enumerations

  • Mandatory last element

enum Enumeration {
ZEROTH = , /**! Short description */
FIRST = 1,
SECOND = 2,

/** Mandatory last element */
LAST
};

$[Get Code]2

Expressions

  • Separate lines for each argument
  • New indent for each sub-expression

    if (booleanA
    && booleanB
    || (booleanC
    && booleanD
    )
    )
    {

    }

$[Get Code]3