pqc/HACKING.md

1.5 KiB

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