eyecatch thumbnail

コミット時に JS Standard Style コーディングスタイルを適用する pre-commit のススメ | JavaScript 編

Profile picture
ルッチ / Lucci
2022.06.02

Contents


まとめ

  • コーディングスタイルを使ってコードの品質を保ちましょう
  • pre-commit を使うとコミット時にコーディングスタイルをチェック出来ます
  • コーディングスタイルに関するレビューはもう終わりにしましょう

はじめに

hello-i-m-nik-MAgPyHRO0AA-unsplash.jpg

コーディングスタイルについてのレビューって面倒くさいなと思ったことはありませんか?

そんな方に朗報です、コミット時にコーディングスタイルをチェックできる pre-commit というツールが世の中にはあります。

このツールを使えば、指定したコーディングスタイルに反しているコードを強制的に修正できます。

結果として、コーディングスタイルについてのレビューなどをしなくて良い環境を構築できます。

自由度の高いプログラミング言語ほど、プログラマーの趣向が強く反映されがちで、 コーディングスタイルがめちゃめちゃになることが多いのではないでしょうか? (JavaScript とか C 言語とか)

そのコーディングスタイルを揃えるためのレビューや修正は価値を感じず、 できればやりたくないと思う方が多いのではないでしょうか?

そんな方に、これから紹介する、pre-commit というツールを是非使って欲しいです。

コーディングスタイルにまつわる雑務からの解放が待っています。

pre-commit のインストール

sigmund-TlFw-WoI8_w-unsplash.jpg

まず、pre-commit をインストールします。

pip もしくは brew コマンドを使ってインストールするのが良いかと思います。

# pip の場合
$ pip install pre-commit

# brew の場合
$ brew update
$ brew install pre-commit

正常にインストールされているか判断するために、pre-commit のバージョンを確認してください。 以下のように、バージョンが何かしら出力されれば ok です。 (出力されるバージョンの数字は異なるかもしれませんが、気になさらず)

$ pre-commit --version
pre-commit 2.9.3

正常にインストールされていたことを確認できたら、次のステップに進んでください。

コーディングスタイルの指定と pre-commit の有効化

florian-olivo-4hbJ-eymZ1o-unsplash.jpg

このステップでは、適用するコーディングスタイルの指定と、pre-commit の有効化を行います。

まずは、適用するコーディングスタイルを決めてください。

本記事では、適用するコーディングスタイルは JavaScript Standard Style に決めました。

JavaScript Standard Style > Git の pre-commit フックはありますか? の内容を参考にして、pre-commit に必要な .pre-commit-config.yaml ファイルを用意します。

この .pre-commit-config.yaml は Git リポジトリのトップディレクトリに置いてください。

具体的に .pre-commit-config.yaml に記述する内容は以下の通りです。

- repo: https://github.com/standard/standard
  rev: master
  hooks:
    - id: standard

repo に適用するコーディングスタイルのリポジトリの URL を記載します。

rev はそのリポジトリのどのバージョンを利用するかを記載します。 最新版を利用したいなら、‘master’ か ‘main’ と記載すると良いでしょう。 どちらを記載すれば良いかはリポジトリにアクセスして確認してください。

hooks にはフックの内容を記載します。 (詳細はこちらを確認: https://pre-commit.com/index.html#pre-commit-configyaml---hooks) 今回は、使用するコーディングスタイル JavaScript Standard Style の standardid として登録します。

他にも使用できるコーディングスタイルの ID がありますので、 Supported hooks を参照してもらえれば、他にも使いたいなと思うコーディングスタイルが見つかるかと思います。

.pre-commit-config.yaml の準備が完了したので、pre-commit を有効化します。

トップディレクトリに移動して、以下のコマンドを実行してください。

$ pre-commit install
pre-commit installed at .git/hooks/pre-commit

これで、コーディングスタイルの指定と pre-commit の有効化が完了しました。

現在のソースコードに一括でコーディングスタイルを適用したい場合は、以下のコマンドを実行してください。

$ pre-commit run --all-files
# 出力結果は省略します

これにて、pre-commit の使える快適な開発環境が構築できました。

他の開発者も同じ環境を整備できるように、README などに pre-commit のインストール方法と有効化の方法を記載しておくと良いです。 (この記事のリンクを貼っておくだけでも良いかと思いますが、README には抜粋した内容を書くことをお勧めします)

おわりに

wantto-create-BcnjcRmtQRI-unsplash.jpg

pre-commit を活用した快適な開発環境の構築方法について説明しましたが、どうでしたか?

「お、良いじゃん、今日から使えそうだし、ちょっくら導入してみるか」と思っていただけたら嬉しいです!

是非、現在のプロジェクトにこういう開発環境がなければ、率先して導入してみてください。

大規模プロジェクトほど、必要な開発環境かなと思います。

「たまにくる、コーディングスタイルのレビューが面倒だな」と感じている人の助けになれば良いなと思います。

今後は、JavaScript Standard Style だけではなく、Markdown や Python、HTML CSS など、 他の言語での pre-commit の設定の仕方などを記事にしようかなと思っています。

良ければ、Twitter のフォローをお願いします。

最後までお読みいただきありがとうございました.

今日も良い一日をお過ごしください!

参考資料


執筆機材


関連記事


大学生へのお知らせ

ここまで記事を読んでくれて本当に嬉しいです、ありがとうございます。

プログラミングを始めたばかりの頃って「やるぞ!」という気持ちは強めですが、 実際に取り組み始めると「何からどうやってどこまでやればいんだ?」 という感じで羅針盤を失うことが多いような気がします。(実体験)

そんな勉強熱心で向上心高めなんだけど目指す姿が曖昧な大学生の方に感謝の意も込めて、就職活動までサポートするプログラミングスクール「レバテックカレッジ」を紹介します。↓

Levtech-college

「自走力」のあるエンジニアを最短3ヶ月で目指せるカリキュラムが月額30,000円で用意されていて、 現段階の「目指す姿が曖昧で何から手をつければいいかわからない状態」から脱却できます。

自分は実際にIT企業で働いていますが、「自走力」のあるエンジニアの方にはいつも助けられています。

なので、目指す姿が曖昧な人はとりあえずレバテックカレッジが導いてくれる 「自走力のあるエンジニア」を目指してみるのはスタートダッシュとしてはアリです。

レベルアップしてからジョブチェンするのはRPGでも常套手段ですし、 レバテックカレッジで一通りのスキルを習得してから自分の目指す姿を再定義するといいかもです。

「自走力のあるエンジニア」って実際どんなエンジニアなの? 何から手をつければいいかわからないから教えて欲しい、 という人は上のテキストリンク/画像リンクから「無料相談会」への申し込みをお願いします。

よきエンジニアライフを!