updated on 2020-10-15
go vet | ビルドは通るかもしれないが、バグの懸念のあるコードの検出 |
golint | コードの書式でGoらしくないコードを検出 |
errcheck | エラー処理のミスを検出 |
statickcheck | サードパーティ製の静的解析ツールのセット |
GolangCI-Lint | サードパーティ製のLinter Runner |
go testを走らせれば自動で実行される(Go1.10から)
The Go Playgroundでも実行される
package main import "fmt" func main() { fmt.Printf("%s\n", 100) # %sなのに数値が渡されている }
$ go vet your_file.go
reviewdog
レビュー時に自動で静的解析ツールを実行する
機械的にチェックできることは機械にやらせる
人間だと忘れたり、細かいことだとケチつけるみたいで、指摘がしずらい
設定ファイルを書けばreviewdogが勝手にPRにコメントをくれる