Open an issue If you can work on it Fork Create a new branch Create a PR
- Always run go formatter with
go fmt
. - Be sure to write as much tests as you can.
- Write comments for non-obvious algorithms and logic.
- Keep the names for variables, constants, function, structures, etc as short as possible.
- PR will be DECLINED if any 3rd party library is added without a very good explanation or if the same with the std lib implies a huge amount of work.
- HTTP routing:
- Keep 1:1 handlers and routing.
- The name of the handler must end with the suffix "handler" i.e. MultiGetHandler(w http.ResponseWriter, r *http.Requesst) {}
- Allow only one HTTP method.
- No 3rd party routing libs.
- Middlewares are allowed and welcome.
- Avoid global variables.
- Use internal package for shared and core logic
- Logging is always in standard output -> use logs package, avoid using fmt package for logging.
- Benchmark testing is welcome.
- Branch name should express the intent of the change or use the same name that is in the issue.
- Commits messages should express the change and the impact if there is a code change. Tagging with "feature", "fix", "improvement" can help, but is not mandatory.
- Merge squash into master will be consider in every PR.