- aligncheck: Identify inefficiently packed structs. URL: https://gitlab.com/opennota/check.
- bodyclose: A static analysis tool that checks whether res.Body is correctly closed. URL: https://github.com/timakin/bodyclose.
- copyfighter: Statically analyze Go code and report functions while passing large structs by value. URL: https://github.com/jmhodges/copyfighter.
- deadcode: Report unused blocks of code. URL: https://github.com/tsenart/deadcode.
- dupl: Report potentially duplicated blocks of code. URL: https://github.com/mibk/dupl.
- Effective Go: Tips for writing clear, idiomatic Go code.
- errcheck: Ensure that returned errors are checked. URL: https://github.com/kisielk/errcheck.
- Fowler, Martin: Refactoring: Improving the Design of Existing Code. Boston, MA, USA: Addison-Wesley, 1999 — ISBN 0-201-48567-2 (https://www.worldcat.org/title/refactoring-improving-the-design-of-existing-code/oclc/863697997).
- goconst: Flag repeated strings that can be replaced with constants. URL: https://github.com/jgautheron/goconst.
- gocyclo: Calculate cyclomatic complexity of code. URL: https://github.com/alecthomas/gocyclo.
- gofmt: Format Go programs or check that they are properly formatted. URL: https://golang.org/cmd/gofmt/.
- goimports: Update Go import lines by adding missing ones and removing unreferenced ones. URL: https://godoc.org/golang.org/x/tools/cmd/goimports.
- golangci-lint: Linter runner. URL: https://github.com/golangci/golangci-lint.
- golint: Report style issues in Go programs. URL: https://github.com/golang/lint.
- gomvpkg: Move Go packages and update import declarations. URL: https://godoc.org/golang.org/x/tools/cmd/gomvpkg.
- gorename: Perform precise type-safe renaming of identifiers in Go source code. URL: https://godoc.org/golang.org/x/tools/cmd/gorename.
- gosec: Scan source code for potential security issues. URL: https://github.com/securego/gosec.
- gosimple: Report code that can be potentially simplified. URL: https://github.com/dominikh/go-tools/tree/master/cmd/gosimple.
- gosumcheck: Ensure that all possible types in a type switch are properly handled. URL: https://github.com/haya14busa/gosum.
- go vet: Examine Go source code and report suspicious constructs, such as printf calls whose arguments do not align with the format string or shadowed variables. URL: https://golang.org/cmd/vet/.
- ineffassign: Detect variable assignments that are not being used. URL: https://github.com/gordonklaus/ineffassign.
- Liskov, Barbara: Keynote Address – Data Abstraction and Hierarchy. In: Addendum to the Proceedings on Object-oriented Programming Systems, Languages and Applications (Addendum), OOPSLA '87. New York, NY, USA : ACM, 1987 — ISBN 0-89791-266-7 (https://www.worldcat.org/title/oopsla-87-addendum-to-the-proceedings-object-oriented-programming-systems-languages-and-applications-october-4-8-1987-orlando-florida/oclc/220450625), S. 17–34.
- Martin, Robert C.: Clean Architecture: A Craftsman's Guide to Software Structure and Design, Robert C. Martin Series. Boston, MA: Prentice Hall, 2017 — ISBN 978-0-13-449416-6 (https://www.worldcat.org/title/clean-architecture-a-craftsmans-guide-to-software-structure-and-design-first-edition/oclc/1105785924).
- Meyer, Bertrand: Object-Oriented Software Construction. 1st. Aufl. Upper Saddle River, NJ, USA: Prentice-Hall, Inc., 1988 — ISBN 0136290493 (https://www.worldcat.org/title/object-oriented-software-construction/oclc/1134860513).
- misspell: Check source code for spelling mistakes. URL: https://github.com/client9/misspell.
- prealloc: Identify slice declarations that could be pre-allocated. URL: https://github.com/alexkohler/prealloc.
- revive: A stricter, configurable, extensible, and beautiful drop-in replacement for golint. URL: https://github.com/mgechev/revive.
- safesql: Checks code for potential SQL injection points. URL: https://github.com/stripe/safesql.
- splint: Identify functions that are too long or receive too many arguments. URL: https://github.com/stathat/splint.
- structcheck: Identify unused struct fields. URL: https://gitlab.com/opennota/check.
- unconvert: Detect unnecessary type conversions. URL: https://github.com/mdempsky/unconvert.
- unindent: Identify code that is incorrectly indented. URL: https://github.com/mvdan/unindent.
- unparam: Detect unused function parameters. URL: https://github.com/mvdan/unparam.
- varcheck: Detect unused variables and constants. URL: https://github.com/opennota/check.