We would love for you to contribute to our library and help make it even better than it is today! As a contributor, we would like you to follow the guidelines laid out in this document.
Please refer to the iotc-c-lib CONTRIBUTING.md document and apply the general rules that would be applied regardless of language used.
In addition to the general rules, please consider these as well:
- Provide type hints. Doing this helps you catch bugs, and it helps other developers that are using your code.
- The code repositories be "editable" from those git repo clones. The developers should be able to make changes AND execute the code directly from the git clone. This makes it so that there is less of a chance that developers accidentally forget to check in files and ensures that everyone follows the same development process.
- Use an advanced editor for Python. While may prefer Notepad++, vi or emacs, even though your code executes perfectly, using an editor which does not have advanced spell checks, understanding of python tying hints and similar checks, potential minor issues slipping through the cracks would make it so that the next developer picking up your work would have to clean them up so that warnings don't clutter their code view. You can use PyCharm Community Edition or VSCode, which are both free for commercial use.
- Use Git integration provided by the above editors to ensure that any by-products (build artifacts or temporary files) get added to version control.
- Do not check in any binaries or packages directly into version control.
- When making guides that follow some user interface steps, avoid "polluting" the repos with large screenshots, where possible. If feasible, use text, or small screenshots of buttons or screenshots focused on areas of interest rather than full screenshots of your browser window. Cleanly written text of steps is usually easier to follow than a guide with many screenshots to scroll through.