Lint
コードと設定を入力とし、プログラムの問題を静的に検出するツール
textlintなど文書を対象とするものもある
「静的に」とは、プログラムを実行することなく問題を検出するという意味
yaccの作者が開発したC言語の静的検査器の名前がLint(糸くず)だったことに由来
Lintが検出する問題はコンパイラやインタプリタのような処理系が静的に検出しないものである
処理系が静的に検出する問題の種類や広さは言語ごとに異なる
RubyやPerlなどの動的型付けの場合は狭い
GoやTypeScriptなどの静的型付けの場合は広い
Lintで検出したい問題
合意の取れない問題
コーディングスタイル、流儀、フレームワークやライブラリのよりよい使い方など
ohbarye.icon 言語によってはこちらにのみ注目されがち
動的にしか検出されない問題
Lintを使う理由
問題を早期に検出する。早期であるほど低コストで検出・対応できる
ohbarye.icon どのような問題にしても、生産プロセスの中で、できるかぎり〝価値が最低〟の段階で問題を発見して解決すべきだということである
参考
LintオタクによるLint解説