3 ms·
Thanks! I've switched jobs six months ago. Previously, I worked moslty solo and relied on staticcheck and other static analysis tools a lot. On this new job I q
by henvic 7y ago
Thanks! I've switched jobs six months ago. Previously, I worked moslty solo and relied on staticcheck and other static analysis tools a lot. On this new job I quickly found out we weren't using any tools, and staticcheck was the one I missed the most. Fortunately I was able to show its value, and we are steadily improving our codebase thanks to it.
This and also gosec are invaluable!
Something I looked recently and should adopt soon:
https://github.com/golangci/golangci-lint https://github.com/golangci/golangci-lint
So far, this is what my 'de facto' lint list looks like:
echo "Checking for unchecked errors."
errcheck $(go list ./...)
echo "Linting code."
test -z "$(golint `go list ./...` | tee /dev/stderr)"
echo "Examining source code against code defect."
go vet $(go list ./...)
go vet -vettool=$(which shadow)
echo "Running staticcheck toolset https://staticcheck.io" https://staticcheck.io"
staticcheck ./...
echo "Checking if code contains security issues."
# TODO(henvic) fix/update gosec when available:
# G104: Doesn't understand _ assignments #270
# https://github.com/securego/gosec/issues/270 https://github.com/securego/gosec/issues/270
# Ignoring G104: Audit errors not checked for now.
gosec -quiet -exclude G104 --quiet ./...
- dgellow 7y agogolangci-lint is just awesome. We started enabling it on all our repositories in combination with https://github.com/reviewdog/action-golangci-lint https://github.com/reviewdog/action-golangci-lint to have Github check warnings integration directly in the PR diff. Also, it is now available as a choice of Go linter in Visual Studio Code.