eyecatch thumbnail

コミット時に自動的に PEP8 のコーディングスタイルを適用する pre-commit のススメ | Python 編

Profile picture
ルッチ / Lucci
2022.06.04

Contents

まとめ

  • pre-commit を使ってコミット時に自動で PEP8 のコーディングスタイルを適用する
  • .pre-commit-config.yaml に適用するコーディングスタイルの内容を記載する
  • 環境構築が完了すれば、コーディングスタイルを過剰に意識しないで済む

はじめに

jukan-tateisi-bJhT_8nbUA0-unsplash.jpg

コミット時に自動的に PEP8 のコーディングスタイルを適用する方法を紹介します。

前回の記事では、 コミット時に JS Standard Style コーディングスタイルを適用する pre-commit のススメ | JavaScript 編 を紹介しました。

その記事で紹介した pre-commit を、今回も使います。

pre-commit を利用すると、コミット時にコーディングスタイルのチェックと修正が出来るようになります。

PEP8 のコーディングスタイルをいちいちチェックしてコーディングしているような人は、 そのやり方はとても非効率なので是非ともこの記事で紹介する pre-commit を使ってください。

それでは、どうぞ!

pre-commit のインストール

markus-spiske-iar-afB0QQw-unsplash.jpg

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

pip コマンド、もしくは brew コマンドを使ってインストールできます。

$ pip install pre-commit
# or
$ brew update
$ brew install pre-commit

正常にインストールできたか確認するために pre-commit のバージョンを確認します。 何かしらバージョンが出力されれば ok です。

$ pre-commit --version
pre-commit 2.9.3

インストールが成功したので、次はコーディングスタイルの指定と pre-commit の有効化に進みましょう。

コーディングスタイルの指定

chris-ried-ieic5Tq8YMk-unsplash.jpg

まずは、コーディングスタイルを指定します。

そのために .pre-commit-config.yaml ファイルを Git で管理されているリポジトリの トップディレクトリに保存してください。

このファイルは、必ずトップディレクトリに保存してください。 (トップディレクトリにないと期待動作しません)

.pre-commit-config.yaml には以下のコードを書いてください。

repos:
  - repo: https://github.com/pre-commit/mirrors-autopep8
    rev: main
    hooks:
      - id: autopep8

repos repo rev hooks id などのそれぞれの説明は https://pre-commit.com/ を参照してください。 (なんとなくの意味はパッと見でわかるかもしれませんが)

これで、コーディングスタイルの指定は完了です。

最後に、pre-commit を有効化しましょう。

pre-commit の有効化

dayne-topkin-y5_mFlLMwJk-unsplash.jpg

pre-commit の有効化はコマンド一発です。

以下のコマンドを Git で管理されているプロジェクトのトップディレクトリで実行してください。

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

はい、これにて pre-commit の有効化が完了しました。

あとは、プロジェクトにもよりますが、一括でコーディングスタイルを適用しておくと良いかもしれません。

以下のコマンドを実行すれば、一括で全ての対象ファイルにコーディングスタイルを適用できます。

$ pre-commit run --all-files
# 出力結果省略

pre-commit が期待動作すれば、コーディングスタイルに反している対象ファイルが修正されています。 git statusgit diff などで差分を確認してみてください。

これ以降、コミット時に自動的にコーディングスタイルが適用され、反しているコードは強制的に修正されます。

コーディングスタイルを過剰に気にすることなく、コーディング自体に集中できる環境ができました。

お疲れ様です!

おわりに

markus-spiske-j2s9TffBQLk-unsplash.jpg

pre-commit を使って自動で PEP8 のコーディングスタイルを適用する方法を紹介しました。

「お、良さそう、早速インストールしてみよう」と思っていただけたら嬉しいです。

この記事に対して「良いね」と思っていただけたら、 Twitter のフォローをお願いします。

この記事を読んでくれた人の開発環境が少しでも快適になることを願っています。

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

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


執筆機材


関連記事


Python 初学者へのお知らせ

約2時間で Python の基礎を学び、簡単なゲームを作ってみませんか?

そんな方に、Python の基本を実践的に学びたい人向けの講座、【無料】ゼロから始めるPythonプログラミング入門講座(週4開催)をお勧めします。

tech-ad-techgym-python

この講座で、無料でゲーム開発を通してプログラミングの基礎を身につけてみませんか?

少しでも気になった方は、上記のテキストリンクもしくは画像リンクから申し込みお願いします!

Python との楽しい日々をお過ごしください:)

大学生へのお知らせ

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

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

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

Levtech-college

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

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

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

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

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

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