First, thank you for contributing! We love and encourage pull requests from everyone. Please follow the guidelines:
-
Check open issues and pull requests for existing discussions.
-
Open an issue first, to discuss a new feature or enhancement.
-
Write tests, and make sure the test suite passes locally and on CI.
-
When optimizing something, write benchmarks and attach results:
go test -run - -bench BenchmarkYourFeature -count=10 ./... >old // on master go test -run - -bench BenchmarkYourFeature -count=10 ./... >new // on your branch benchstat old new
benchstat
is described here https://godocs.io/golang.org/x/perf/cmd/benchstat. -
Open a pull request, and reference the relevant issue(s).
-
Make sure your commits are logically separated and have good comments explaining the details of your change. Add a package/file prefix to your commit if that's applicable (like 'vm: fix ADD miscalculation on full moon').
-
After receiving feedback, amend your commits or add new ones as appropriate.
-
Have fun!