kyoune01.github.io

lint

概要

静的解析を行うための「linter」と各言語のコーディング規約の紹介を行う 合わせてコードフォーマットを行う「prettier」を紹介する

linter・prettier とは

構文エラーや使用されていない変数の検知などをチェックする処理(プログラム)を「lint」
プログラムが動くパッケージを「linter」と呼ぶ
linter の中で、コードフォーマットのみを行うパッケージの 1 つとして「prettier」が存在する

linter では構文チェック、prettier ではコード整形をおこなうため異なる役割をもつ

使用するメリット

前提として、コーディング規約を人間が完全に守るのは難しく、規約を守られていないコードは読み辛くなり不具合を生むことが知られている

linter・pretter を通すことで、下記のようなメリットがある

  • 公開前に事前にエラーを検知できる
    → テストの手戻り工数を削減
  • 規約を意識せずに実装へ集中できる
    → 実装すべき処理・コーディングへ集中できる
  • レビュー・調査時に不要な脳のリソースを使用しない
    → 新卒・既卒関わらず一定の品質を担保できる

設定方法

設定方法によっていくつか動作タイミングがある
基本はローカルで動作させ「皆が見える場所へファイルを上げる前に確認する」

注意点としてどの linter/prettier もパッケージとして配布されているため、パッケージを理解していることが前提となる

保存したら動作

エディターでファイルの保存時に自動で実行する

例:vscode prettier
VSCode でファイル保存時に Prettier に自動整形してもらう

コミット・プッシュ前に動作

git hook を用いる
※hook ファイルへ直接書く方法は開発者の環境に依存するため、「npm package」を導入している案件であれば「husky」も提案する

例:husky linter
git のイベントをフックして自動 lint をかける

各言語によるコーディング規約

最後に linter がなにを正とするか、各言語で使用されているモダンな規約を紹介する

© 2024, kyoune01