linterを作ってみよう golang.tokyo #14 16 April 2018 dice_zu(daisuzu) なぜlinterを作るのか golintやgo vetなどはあるが、 独自のコーディング規約を守れているかチェックしたい 単体テストで気付きにくいようなバグを見つけたい といった場合、既存のツールだとカバーできないため どうlinterを作るのか 以下のパッケージを使って静的解析する go/ast go/parser go/token go/types golang.org/x/tools/go など linterを作る時の悩みどころ 1. コマンドライン引数 各種フラグ 特定のファイルを除外したり、必要ないルールを除外したり 対象の指定方法 それぞれastを取得する処理が異なる ・ファイル: parser.ParseFile() ・ディレクトリ: parser.Pa