-
Configure editor so indents are four spaces (Should be the default in Visual Studio 2017).
-
All source and WPF filenames will be Pascal Case (example: MainClass.cs).
-
When possible If no standard library functionality exists, then use Qt.
-
Naming Styles:
- We are primarily following these (guidelines)[https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions] from Microsoft with the exception of local variables
- Class names, members, and functions will be Pascal Case
- Local variables and function parameters will be Camel Case (example: localVar).
- Online examples from MS contradict the style guideline for local variables, but I feel this provides visual differentiation of scope for identifiers.
- Constants will be in call caps.
-
Do not use magic numbers. Instead, use named constants.
- Do not commit autogenerated files to the project repository.
- Addition of any 3rd party libraries (other than support for trackers) must be requested in a GitHub issue complete with links to the library and explanation of its need/value for the project.
- The master branch is used for the most recent and tested stable release. No commits are to be added to the master branch by anyone other than a release manager.
- The develop branch contains tested features to be included in the next release.
- If you are an internal member of the project and collaborating on features, please make your changes in a branch named issue##-keyword, where ## represents the issue number and a keyword or short phrase is provided to easily identify the branch.
- NO CODE IS TO BE MERGED INTO MASTER OR DEVELOP WITHOUT A PULL REQUEST FOR CODE REVIEW.
- Ensure that you periodically update branches with code changes from your branch base (master/develop/etc) to ensure that regressions and merge conflicts are resolved before pull requests are submitted.
- If you are having difficulties with a merge conflict or are uncomfortable making a pull request, please reach out to another member of the development group via an issue comment or Discord.