Create CONTRIBUTING.md

This commit is contained in:
LightCat 2018-06-24 10:49:23 +02:00 committed by GitHub
parent 00530dcc64
commit 210bfe31e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

35
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,35 @@
# NullWorks code style (Work in progress)
## C/C++
### General
- Code must be formatted with `clang-format`, the `.clang-format` settings file is provided within this repo.
- `using namespace` is strictly forbidden.
- [Hungarian notation](https://en.wikipedia.org/wiki/Hungarian_notation) is forbidden.
### File names
`PascalCase`.
### Header files
Header files must have extension of `.hpp` and be guarded with `#pragma once` in the beginning.
### Variable names
- Variable names must be `lower_snake_case`, member variable names **must not** be prefixed by `m_` or any other prefixes.
- Constants must be in `UPPER_SNAKE_CASE` and use `constexpr`, not `#define`. For example: `constexpr int MAX = 100;`.
### Namespace names
Namespace names follow the same rules as *Variable names*.
### Function names
Function/method names must be in `lowerCamelCase`.
### Class names
- Class names must be in `PascalCase`.
- Struct names must be in `lower_snake_case`.