First of all, thank you for your interest in Overload! Any contribution is welcome, including:
- Reporting a bug
- Submitting a fix
- Proposing new features
- Improving code quality
We use GitHub to host code, track issues and feature requests, and accept pull requests.
We Use Github Flow, So All Code Changes Happen Through Pull Requests
Pull requests are the best way to propose changes to the codebase (we follow Github Flow). We actively welcome your pull requests.
To create a pull request:
- Fork the repository.
- Create your branch from
develop
(following naming conventions). - Review your code before submitting (conduct build and quality checks).
- Create a pull request targeting the
develop
branch.
In short, when you submit code changes, your contributions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.
We use GitHub issues to track bugs. Report a bug by opening a new issue, it's that easy!
- Interfaces starts with
I
. - Abstracts starts with
A
. - Class names:
UpperCamelCase
. - Public member variables:
lowerCamelCase
. - Private member variables:
m_lowerCamelCase
. - Public static variables:
UpperCamelCase
. - Private static variables:
s_lowerCamelCase
. - Function/Method arguments:
p_lowerCamelCase
. - Function/Method names:
UpperCamelCase
. - Constants:
kUpperCamelCase
. - Class member variables are located at the bottom of the file.
- Avoid using macros to define constants; prefer using `constexpr`` instead.
- Tabs are preferred over spaces.
- Always end your files with an empty line.
- Avoid aligning variable names and values using tabulations.
- Scope blocks should start on a new line.
- Comment your functions, enums, classes, methods (Javadoc style)
Some coding conventions may have been overlooked during the writing of this document, so always refer to the existing codebase.
Thanks for being a part of the Overload Tech. team!