The code written in Golang in this repository tries to follow the rules set by the community for this topic.
A summary of the introductory recommendations can be found in CodeReviewComments wiki topic, a more complete version can be found in Effective Go article. Additional guidance on how to write good code can be found in the article How to Write Go Code.
In addition, to manage possible dependencies this project uses govendor. Modifications on the dependencies must be submitted with the pull request on file vendor/vendor.json
. Instructions as govendor works can be found here.
- Use imperatively ("Add feature" no "Adding feature" or "Added feature").
- First line should have a maximum of 72 characters.
- Consider describe in detail in the body commits.
- Consider using an emoji at the start of the commit message.
Emoji | Code | Commit Type |
---|---|---|
🎉 | :tada: |
Initial commit. |
🎨 | :art: |
Improve structure or code format. |
🐎 | :racehorse: |
Improves performance. |
📝 | :memo: |
Write documentation. |
🐛 | :bug: |
Fix a bug. |
🔥 | :fire: |
Remove code or file. |
💚 | :green_heart: |
Fixes a building in CI. |
✅ | :white_check_mark: |
Add tests. |
🔒 | :lock: |
Improves security. |
⬆️ | :arrow_up: |
Dependencies upgrade. |
⬇️ | :arrow_down: |
Dependencies downgrade. |
💩 | :poop: |
Deprecated. |
🚧 | :construction: |
Work in progress. |
🚀 | :rocket: |
New feature. |
🙈 | :see_no_evil: |
Ugly hack. |
📦 | :package: |
New release. |
👓 | :eyeglasses: |
Modified GUI. |
🔧 | :wrench: |
Modified configuration files. |
💡 | :bulb: |
When removing linter warnings. |
git commit -m ":memo: Add contribution instructions.
>
> It was created a file (CONTRIBUTING.md) with instructions
> on how to make a good commit."
This repository emphasizes the test coverage. Covering all the features and components with unit tests and performing integration tests whenever possible.
Guidelines on how to produce good unit tests can be found here and here. Resources and tools about tests Go can be found here.
There is an excellent post on the Go Lang blog called The cover story that illustrates how to get the current project test coverage and other relevant data.
This repository adopts workflow known as GitHub Flow created by Github. Details on the operation of branchs model can be found here.