Skip to content
Latchkey

Lintとは?

Lintは、一連のルールに従ってスタイル違反、潜在的なバグ、非推奨のパターンを検出するために、コードに対してツールを実行します。

linterはコードを読み、コンパイラでは報告されない問題を報告します - 一貫性のないスタイル、未使用のimport、疑わしい比較、アンチパターンなどです。CIで実行することで、コードベースの一貫性を保ち、小さなバグの一群を安価かつ早期に捕捉できます。

linterが検査する内容

linterは設定可能なルールを適用します。スタイル系(命名、スペーシング)、正しさ系(未使用の変数、到達不能なコード)、ベストプラクティス系などです。ルールセットはチームの規約に合わせて調整します。

linter対formatter

formatter(Prettierやgofmtなどのようなもの)はコードを固定スタイルへ自動的に書き換えます。linterは解析して報告し、時には自動修正も行います。多くのチームはレイアウトにformatterを、ロジックレベルの問題にlinterを実行します。

簡単な例

ESLintはconst x = 1; x = 2;をconstへの代入として、未使用のimportをno-unused-varsとして検出します。CIではeslint . --max-warnings=0により、そうした検出があればビルドを失敗させ、問題をmainから締め出します。

CIでの利用

LintはゲートとしてCIで早く高速に実行されます。lintの失敗はテストの前にビルドを止めるため、スタイルや明白なバグのリグレッションがマージされることはありません。pre-commit hookと組み合わせれば、そもそもCIに到達する前にほとんどの問題を捕捉できます。

ルールセットを健全に保つ

過度に厳格またはノイズの多い設定は、人々がlintの出力を無視するように仕向けます。まず妥当な共有presetから始め、実際の問題を捕捉するルールを有効にし、機械的なものは自動修正して、残る失敗が読む価値のあるものになるようにしましょう。

重要なポイント

  • Lintは、ルールに基づいてスタイル問題、潜在的なバグ、非推奨パターンを検出します。
  • formatterはレイアウトを書き換え、linterは解析して報告します。
  • 対応するpre-commit hookとともに、高速な早期ゲートとして実行しましょう。

関連ガイド