Contributing

View Source

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.

Coding Style

C Code

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

Names

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

Other Coding Conventions

  • 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.

Elixir Code

Just use Elixir formatter enforced style.