Skip to content

Latest commit

 

History

History
26 lines (22 loc) · 2.11 KB

CONTRIB.md

File metadata and controls

26 lines (22 loc) · 2.11 KB

Coding Standards

  • 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.

Project Standards

  • 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.

Branching

  • 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.

Pull Requests

  • 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.