.. _coding_style: Coding Style ************ Use this coding guideline to ensure that your development complies with the project's style and naming conventions. In general, follow the `Linux kernel coding style`_, with the following exceptions: * Add braces to every ``if`` and ``else`` body, even for single-line code blocks. Use the :option:`--ignore BRACES` flag to make :program:`checkpatch` stop complaining. * Use hard tab stops. Set the tab width 8 spaces. Break lines at 80 characters. If you are trying to align comments after declarations, use spaces instead of tabs to align them. * Use C89-style single line comments, :literal:`/* */`. The C99-style single line comment, //, is not allowed. * Use :literal:`/** */` for any comments that need to appear in the documentation. Checking for Conformity Using Checkpatch ======================================== The Linux kernel GPL-licensed tool :program:`checkpatch` is used to check coding style conformity. :program:`Checkpatch` is available in the scripts directory. To invoke it when committing code, edit your :file:`.git/hooks/pre-commit` file to contain: .. code-block:: bash #!/bin/sh set -e exec exec git diff --cached | ${ZEPHYR_BASE}/scripts/checkpatch.pl - || true .. _Linux kernel coding style: https://www.kernel.org/doc/Documentation/CodingStyle