連休中に、golangci-lintに組み込まれているlinterを全部見た。Linters | golangci-lint から見れるので、みなさまも見てください。
世間でも全部見ている事例はありそう。こちらもあわせてどうぞ。
これで記事を終わってもいいけど、もうちょっと続ける。
ここで「golangci-lintに組み込まれているlinterを全部見た」とは、以下のことを指している。
- Linters | golangci-lint を開く
- linterを上から順に見る
- それぞれのlinterがどういうコードを検出するlinterなのか・どういう設定項目があるのかを把握する
- 身近なコードベースに対してlinterを走らせる
- (余裕があれば) linterのソースコードを眺める
数時間ぐらいで全部見おわり、(一部のルールが多いlinterを除けば) それぞれのlinterの特徴はだいたい分かった。あわせて Configuration | golangci-lint もひととおり目を通した。その上で、いま関わっているプロダクトのコードベースに何をどう適用すると効果的なのか検討し、いくつかのlinterを追加で有効にした。
「全部見る」は必ずしも「完全に理解している」を意味しないが、近いところには到達できると思う。何がどこにあるのか・何ができるかのアタリがつくようになった。裏を返すと早めに知っていればよかったと思うこともあるが、手札が増えたことを喜ぶべきだろう。linterのルールに限らず、ときどき「全部見る」行いをやるのが癖になっている。見えていると思っているものも、ほんの一部・上澄みしか見えていない、ということはよくある。
何が言いたいのかというと、全部見るのは健康にいいです。