Skip to content

Latest commit

 

History

History
62 lines (37 loc) · 2.13 KB

CONTRIBUTING.md

File metadata and controls

62 lines (37 loc) · 2.13 KB

Contributing to the Project

We are excited to receive your contributions. However, it is crucial to follow guidelines to ensure effective collaboration.

Versioning

We follow Semantic Versioning (SemVer). Prioritize PRs with patch or minor changes. Significant changes require prior discussion for integration in the next major release. Mark removals of public properties or methods as Obsolete in the latest release branch.

Descriptive Titles

Use concise and descriptive titles in issues or PRs. Details should be in the description.

Commit Messages

Follow Conventional Commits. Each commit should describe the change. Reference open issues with #.

Examples of good commit messages:

  • fix: Fix potential memory leak (#142).;
  • feat: Add new entity (#169).;
  • refactor: Refactor code for the 5th entity.;
  • feat: Add new GUI component..

Examples of incorrect messages:

  • I'm bad.;
  • Tit and tat.;
  • Fixed.;
  • Oops..

Code Style

We follow the Microsoft C# coding conventions, with some exceptions.

Main Preferences

  1. Prefix P in file names and IP for interfaces;
  2. Use this to reference fields and properties;
  3. Avoid asynchronous code in inappropriate contexts.

Other Preferences

  1. Do not use var;
  2. Mark immutable fields as readonly;
  3. Use internal and public sparingly;
  4. Utilize object initializers whenever possible.

Inline out Declarations

Prefer inline form for out declarations: SomeOutMethod(42, out PType value);.

Member Ordering

Always order members and properties: Properties, const Fields, Variable Fields, Events and Delegates, Constructors, Methods.

Pull Request

When contributing and creating a PR, provide clear and informative documentation. This increases the chances of integration.

Code Review

Each PR is carefully reviewed. If rejected, there will be justification. Thank you for dedicating time and effort to QMN Downloader. Questions? Contact the team or community.