GeezerVison is showing github.com — InfiniTime/doc/coding-convention.md at develop · Hemi03/InfiniTime
/
coding-convention.md
Copy path 29 lines (25 loc) · 1.42 KB
/
coding-convention.md
Copy pathFile metadata and controls
29 lines (25 loc) · 1.42 KB
Copy raw file
Download raw file
OutlineEdit and raw actions
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