- Pull requests should have a clear description of what they add.
- When working on new features, draft PRs should be created so that other contributors can have an idea of what is being worked on.
- Draft PRs' titles should start with
[WIP]to indicate that they are WIP.
- Everything should be well documented (
///style, check already existing files). - Be brief and consistent.
- Keep the documentation up to date when making changes.
- Code must be formatted using clang format.
camelCaseis used for functions, methods, local variables and fields (no underscore prefixing on private fields).PascalCaseis used for class names and constants.UPPER_CASEis used for macros.snake_caseis used for namespaces, folders and files.- Each file should have an
#ifndefinclude guard. - When closing a namespace the namespace name should be added as a comment, the same goes for if macros (
#ifdef, ...) - Namespaces should match the directory structure, except
namespace impl, which can be used to hide implementation details (checkcubos::gl::impl).