diff options
author | max-001 <maxsmits21@kpnmail.nl> | 2024-10-16 08:35:17 +0200 |
---|---|---|
committer | max-001 <maxsmits21@kpnmail.nl> | 2024-10-16 08:35:17 +0200 |
commit | 5b158d9705f9e912f938f22f2389d6f1dc783b2a (patch) | |
tree | 7addd40affd1e15b5e6c4ea108847ef6a6eef7ea /contributing.md | |
parent | 2f644ac353f65cd182be13549e32e9b9409f7aad (diff) | |
parent | 579824011d5e8776e2079d6624a39535517760ff (diff) |
Merge remote-tracking branch 'origin/master' into max/POC-ECS-homemade
Diffstat (limited to 'contributing.md')
-rw-r--r-- | contributing.md | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/contributing.md b/contributing.md index 2ff411a..364e835 100644 --- a/contributing.md +++ b/contributing.md @@ -17,6 +17,12 @@ # Code style - ASCII only +- Class names are always singular +- Explanatory comments are placed above the line(s) they are explaining +- Source files should only contain comments that plainly state what the code is + supposed to do +- Explanatory comments in headers may be used to clarify implementation design + decisions - Formatting nitty-gritty is handled by clang-format/clang-tidy (run `make format` in the root folder of this repository to format all sources files) - When using libraries of which the header include order is important, make @@ -30,6 +36,29 @@ as these are no longer accessible when the engine is installed - Getter and setter functions are appropriately prefixed with `get_` and `set_`. +- Doxygen commands are used with a backslash instead of an at-sign (i.e. + `\brief` instead of `@brief`) +- A singleton's instance is always accessed using a getter function that + instantiates its own class as a static variable within the getter function + scope, instead of storing the instance as a member variable directly: + + ```cpp + class Bad { + static Bad instance; + Bad & get_instance() { return instance; } + }; + + class Good { + Good & get_instance() { + static Good instance; + return instance; + } + }; + ``` +- Member variable default values should be directly defined in the class + declaration instead of using the constructor. +- Header files declare either a single class or symbols within a single + namespace. ## CMakeLists specific |