Browse Source

DOC: add Hacking guide

master
hasufell 9 years ago
parent
commit
0abcfee7f1
No known key found for this signature in database GPG Key ID: 220CD1C5BDEED020
1 changed files with 42 additions and 0 deletions
  1. +42
    -0
      HACKING.md

+ 42
- 0
HACKING.md View File

@@ -0,0 +1,42 @@
# Hacking

## Coding style

This is more or less kernel coding style, but the light version, see
https://www.kernel.org/doc/Documentation/CodingStyle for a general idea.

Usually you are good to go if you just match the surroundings, but here
are some more details...

### Random rules:
* english only
* no CamelCase
* opening braces for functions are placed on the next line, opening braces for non-functions (such as loops) are placed on the same line
* if all conditions of an if, else if, else clause only have one line of instructions, then we omit the scope-operators {...}
* spaces around stuff like =, +, - etc, as well as keywords (like while, for etc), but not around function names
* no C99-style comments like // foo
* 80 char limit
* no trailing white spaces
* no implicit function declarations, even for static functions

### Differences to kernel coding style:
* fine to use tabs with 4 characters instead of 8 (but never whitespaces)
* newline after return type

## Comments

* comments are in doxygen format
* all functions, all data types, all macros, all typedefs... basically everything
* comments usually at declaration, not definition (structs are an exception for example)

## Good practices

* use const modifiers whenever possible, especially on function parameters
* if unsure whether to make a function static or not, make it static first
* use unsigned ints instead of signed ints whenever possible

## How to contribute

* pull request on github
* email with pull request
* email with patch

Loading…
Cancel
Save