Skip to content

Latest commit

 

History

History
49 lines (34 loc) · 3.76 KB

CONTRIBUTING.md

File metadata and controls

49 lines (34 loc) · 3.76 KB

Contributing to 'Collection of coding exercises'

First and foremost, I appreciate you being interested enough in this project to even consider contributing to it as a whole. The following contents of the document lay out the basic rules and guidelines about contributing to the project. That being said, by no means these are laws set in stone - follow your best judgment, and feel free to propose changes to this document, or the project itself. Any and all positive contributions are always welcome, including features, issues, documentation, guides, and more.


📄 Table of contents


Code of Conduct

This project and everyone participating in it are governed by the Code of Conduct. By participating and contributing the the project and its contents, you are expected to uphold this code.


Github Terms of Service

If it wasn't already clear - you should always follow GitHub's terms of service not only when contributing to this project, but to any and all repositories on the platform - follow the rules


Guidelines of contribution

Code conventions

In order for the project to remain well-built and structured you should align with stylistic of the code in the repo already. Good place to start would be following Microsoft C# Coding Conventions.


Issues

I'd consider GitHub Issues as a standardized and widely accepted way of contributing to the project and its contents. It covers everything from feature requests, bugs, suggestions to questions. If you wish to read further, GitHub documentation on Creating an issue has got you covered. As a general rule of thumb, here's a few bullet-points I'd like you to follow, when creating an issues, regardless of its type:

  • Title of the issues should be clear, concise and descriptive.
  • Utilize existing labels for your issues to be more informative. If you believe an additional label should be added - create an issue with a default label 'enhancement', where you'd explain what that new label should be, as well as provide reasoning as to why it should be added to the project.
  • Provide an informative, comprehensive description of the bug, suggested feature or an enhancement that you believe should be changed/added or improved in the project.
  • Feel free to provide pictures, flowcharts or any other forms of visual representation of the suggestion or a problem. Make it easy for others to understand you, and get on the same page.

How to contribute

  1. Clone the repository and make a new branch. README.md Getting started section might be a good starting point.
  2. Make any and all changes to your branch. Whatever that might be - a bugfix, a feature or a documentation change.
  3. Do NOT clump together multiple things into the same branch - a single branch should cover a single thing.
  4. Make sure all projects build successfully and pass all the unit tests.
  5. Create a pull request with understandable, short and concise description of changes.