infinitime/doc/coding-convention.md

1.4 KiB

Coding style

Use these tools to find and fix issues.

  • Use clang-format to format the code.
  • Use clang-tidy to check the code for other potential issues.

Follow these guidelines while writing code.

  • Indentation : 2 spaces, no tabulation
  • Opening brace at the end of the line
  • Naming : Choose self-describing variable name
    • class : PascalCase
    • namespace : PascalCase
    • variable : camelCase, no prefix/suffix (_, m_,...) for class members
  • Include guard : #pragma once (no #ifdef __MODULE__ / #define __MODULE__ / #endif)
  • Includes :
    • files from the project : #include "relative/path/to/the/file.h"
    • external files and std : #include <file.h>
    • use includes relative to included directories like src, not relative to the current file. Don't do: #include "../file.h"
  • Only use primary spellings for operators and tokens
  • Use auto sparingly. Don't use auto for fundamental/built-in types and fixed width integer types, except when initializing with a cast to avoid duplicating the type name.
    // Examples:
    auto* app = static_cast<DisplayApp*>(instance);
    auto number = static_cast<uint8_t>(variable);
    uint8_t returnValue = MyFunction();
    
  • Use nullptr instead of NULL