Skip to content

Latest commit

 

History

History
23 lines (16 loc) · 2.19 KB

CONTRIBUTING.md

File metadata and controls

23 lines (16 loc) · 2.19 KB

How to contribute to SharpPlot

After some warm up, maybe you feel confident enough to improve this or that bit of code, or extend a given module. We also hope this translates in an improvement of the library to be shared with the community, and we'll thank you for this!

However, before we can take your changes/improvements, we need you to follow the procedure explained below so that everything can be properly tracked by every contributor in the easiest and most standard way. It is just a set of systematic steps, which we encourage everyone to embrace.

Contribution procedure

The steps are quite standard in the GitHub community:

  1. Submit an issue describing your proposed change or improvement to the issue tracker of this project.
  2. Before submitting the issue where the new change is explained, please make sure this change is not being already developed or listed. You can always ask team members in case of doubt.
  3. Please don't mix more than one logical change per issue. This would make the repository history hard to follow.
  4. Coordinate with team members that are listed on the issue in question, as suggested in point 2. This will remove any potential redundancy, besides allowing for a better planning which should result in better code.
  5. If your proposed change is accepted, fork the repo, develop and test your code changes.
  6. Ensure that your code adheres to the existing style in the sample to which you are contributing.
  7. Ensure that your code has an appropriate set of unit tests which all pass. This is quite important to us, so please make your maximum effort in writing a 100% unit-tested code.
  8. Create an example project where the new feature is used and explained in a README.md file.
  9. Submit a a well documented pull request.

Style

Our style of code adheres to Google's standards (google-styleguide). We want to keep the source consistent, readable and easy to merge. For this reason we use rigid coding style and we expect all contributors to conform this guidelines. Please, use .clang-format to check your formatting.