goで独自の静的解析ツールを実行する

2020/10/01

go には色々静的解析ツールがあり、独自ツールも気軽に作れる(とのこと)。そして最近ではモジュール化できる。

Goにおける静的解析のモジュール化について | メルカリエンジニアリング

14. 静的解析とコード生成 - Google スライド

モジュールは下記のように実行する。

$ go vet -vettool=$(which [toolname]) [packagename]

例えば下記の nilerr の場合、下記のようなに実行する。

gostaticanalysis/nilerr: Analyzer: nilerr checks returning nil when err is not nil

$ go vet -vettool=$(which nilerr) ./repository/...

※ パスが通っている前提