Before contributing, please read carefully our Code of Conduct and the following contribution guidelines.
Please, also make sure to understand the Apache-2.0 license and the Developer Certificate of Origin.
Last but not least, do not use GitHub issues for vulnerability reports, read instead the security policy for instructions.
- Commit messages should have a
- summary and a description
- Avoid trailing white spaces
- Always
git pull --rebase
- Clean up your branch history with
git rebase -i
- All your intermediate commits should build
- K&R identation and braces style
- Mandatory braces
- 4 spaces identation
Good:
void f(int reverse)
{
if (reverse) {
puts("!dlroW olleH");
} else {
puts("Hello world");
}
}
Bad:
void f(int reverse) {
if (reverse)
puts ("!dlroW olleH");
else
puts ("Hello world");
}
- Struct names are PascalCase (e.g. Context)
- Scalar types are lower case (e.g. term)
- All other names (e.g. functions and variables) are snake_case (e.g. term_is_integer)
- Always prefix function names (e.g. term_is_nil, term_is_integer, context_new, context_destroy)
- Pointer * should be with the variable name rather than with the type (e.g.
char *name
, notchar* name
) - Avoid long lines, use intermediate variables with meaningful names.
Just use Elixir formatter enforced style.