Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codeship/go-best-practices
Codeship Golang Best Practices
https://github.com/codeship/go-best-practices
best-practices go golang
Last synced: 3 months ago
JSON representation
Codeship Golang Best Practices
- Host: GitHub
- URL: https://github.com/codeship/go-best-practices
- Owner: codeship
- Archived: true
- Created: 2017-07-15T05:47:23.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-06-07T12:24:59.000Z (over 5 years ago)
- Last Synced: 2024-05-12T12:37:12.768Z (6 months ago)
- Topics: best-practices, go, golang
- Language: Makefile
- Homepage:
- Size: 39.1 KB
- Stars: 745
- Watchers: 51
- Forks: 73
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-list - go-best-practices
README
Codeship Golang Best Practices
=============================## Motivation
To achieve consistency and simplicity throughout our Go codebases. This is to aid in readability, maintainability and efficiency when onboarding and during code review.
This document is built upon and inspired by a number of articles and talks given over the past few years by the Go community. These practices are not unique, [everything is borrowed](https://www.youtube.com/watch?v=j8BHL5SWX0Q).
## Contents
- [testing](./testing)
- [errors](./errors)
- [concurrency](./concurrency)
- [makefiles](./makefiles)
- [dependency management](./dependencies)
- [reflection](./reflection)## Resources
## Extra Goodies
We run markdown-spellcheck in CI on all contributions. Failure to amend such errors will result in changes being rejected.
`make spellcheck` to get quick validation
`make fix-spelling` to use `mdspell` interactive correction functionality and to maintain the `.spelling` file.
see output and see [mdspell](https://github.com/lukeapage/node-markdown-spellcheck) for details on how to maintain the `.spelling` file.
## Contributing
Everyone interacting in the project and its sub-projects' codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [Code of Conduct](CODE_OF_CONDUCT.md).