- Code must be formatted with
clang-format
, the.clang-format
settings file is provided within this repo. using namespace
is strictly forbidden.- Hungarian notation is forbidden.
- Comments should be above the relevant code.
- Use modern c++. (Usage of
make_unique
instead ofnew
, etc)
PascalCase
.
Header files must have extension of .hpp
and be guarded with #pragma once
in the beginning.
- Variable names must be
lower_snake_case
, member variable names must not be prefixed bym_
or any other prefixes. - Constants must be in
UPPER_SNAKE_CASE
and useconstexpr
, not#define
. For example:constexpr int MAX = 100;
.
Namespace names follow the same rules as Variable names.
Function/method names must be in lowerCamelCase
.
- Class names must be in
PascalCase
. - Struct names must be in
lower_snake_case
.