The most opinionated Go source code linter. go-critic is a collection of checks that detect style, and performance issues as well as some common programming errors. We provide as many useful checks as possible. We’re prototyping and experimenting here. When specific check implementation is mature and proven useful, propose it’s integration into other linter. If a good checker can’t find a better home, it stays here. Almost 100 diagnostics that check for bugs, performance and style issues. Extensible without re-compilation with dynamic rules. Includes #opinionated checks with very strict and specific requirements. Self-documented: gocritic doc <checkname> gives a checker description. Usage of gocritic: gocritic [sub-command] [sub-command args...] Run gocritic without arguments to get help output.
Features
- Almost 100 diagnostics that check for bugs, performance and style issues
- Extensible without re-compilation with dynamic rules
- Includes #opinionated checks with very strict and specific requirements
- Self-documented
- gocritic doc <checkname> gives a checker description
- For most users, using go-critic under golangci-lint is enough