57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
Contribution
|
|
============
|
|
|
|
- [Code guidelines](#code-guidelines)
|
|
- [Feature request](#feature-request)
|
|
- [Development](#development)
|
|
|
|
[cpp core guideline]: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
|
|
|
|
[google python style guide]: https://github.com/google/styleguide/blob/gh-pages/pyguide.md
|
|
|
|
[clean code]: https://medium.com/mindorks/how-to-write-clean-code-lessons-learnt-from-the-clean-code-robert-c-martin-9ffc7aef870c
|
|
|
|
[meaningful variable names]: https://medium.com/coding-skills/clean-code-101-meaningful-names-and-functions-bf450456d90c
|
|
|
|
[commit message template]: .github/.gitmessage_template
|
|
|
|
## Code guidelines <a name="code-guidelines"></a>
|
|
|
|
* Follow the C++ Core Guidelines [cpp core guideline]
|
|
* Try to follow PEP guidelines and [google python style guide]
|
|
* Try to follow the SOLID principles of [clean code]
|
|
* Use [meaningful variable names]
|
|
* For most important commits use [commit message template]
|
|
|
|
## Feature request <a name="feature-request"></a>
|
|
|
|
1. Open issue with full feature description
|
|
|
|
2. Wait for response from core team
|
|
|
|
## Development <a name="development"></a>
|
|
|
|
1. Open an issue
|
|
|
|
2. Create new branch and code there
|
|
|
|
3. Commit your work using [commit message template]
|
|
|
|
4. Be sure that you are not behind the master, if so, rebase your branch
|
|
|
|
5. Make a pull request to master branch with meaningful description and sign the CLA which is part of the PR checks
|
|
|
|
6. Wait for review
|
|
|
|
7. Apply / argue the code review comments
|
|
|
|
8. Clean up the comment history if needed
|
|
|
|
9. Push the changes again
|
|
|
|
10. Repeat steps 4-10 until convergence
|
|
|
|
Side note: **DO NOT USE** `git merge master` or `git pull master` to align your
|
|
branch with master, use `git rebase master` for it!
|
|
|