Pythonは文法がシンプルであり、関数定義やif文などのブロックをインデントで指定するので、他のプログラミング言語に比べてコードが書きやすく・かつ読みやすいです。
とはいっても好き勝手に書いていくと読みにくコードができあがります。
読みにくいコードはバグが発生する要因になります。
なのでプログラムを書く際のルールを決めたいですね。
プログラムのソースコードを書く際のコードの書き方や形式に関する決まりごと、ルールはコーディング規約と呼ばれています。
Pythonに関してはPython Enhancement Proposal 8、略してPEP8(ペップエイト)と呼ばれるPython公式のコーディング規約や、Googleが定めた”Google Python Style Guide”と呼ばれるコーディング規約などがあります。
コーディング規約にはインデントはタブではなく、スペース4つが推奨されていたり、関数やクラスの定義の際には改行を2つ入れるなど、結構細かいところまでルールが決められています。
これらのルールに従ってコードを書くことができれば、一貫性があり、読みやすいソースコードを書くことができます。
しかしコーディング規約を読んでもらったらわかるのですが、量が多いのでなかなか覚えられません。コードを書きながらチェックするのも大変です。
そこで登場するのがlinterとformatterです。
Linterとはソースコードを解析し、文法の誤りだけでなく、バグの原因となりそうな部分を検出・警告してくれるツールです。
Formatterはスペースの数や改行の位置等、ソースコードの見た目であるコードのスタイルをチェックし、自動的に修正・整形してくれるツールです。
これらを使うことで、コーディング規約を暗記していなくてもコーディング規約に沿った、読みやすいソースコードを誰でも書くことが可能となります。
PythonではいろいろなLinter・Formatterがありますが、最近ではLinterにはflake8、formatterにはblackとisortがよく使われているようです。
今回はPyhtonでよく使われているLinterとFormatterについて使い方を簡単に見ていきますので、良かったら最後までご覧ください。
テスト環境
macOS Big Sur (Intel) 11.5.1
Python 3.9.2
Black 21.7b0
Flake8 3.9.2
isort 5.9.3
Flake8公式ドキュメント
https://flake8.pycqa.org/en/latest/
——————————————————————————————————————————————–
Black公式ドキュメント
https://black.readthedocs.io/en/stable/
——————————————————————————————————————————————–
isort公式ドキュメント
https://pycqa.github.io/isort/
——————————————————————————————————————————————–
Google Style Guides
https://google.github.io/styleguide/
——————————————————————————————————————————————–
PEP8(原文)
https://www.python.org/dev/peps/pep-0008/
——————————————————————————————————————————————–
PEP8(日本語訳)
https://pep8-ja.readthedocs.io/ja/latest/
——————————————————————————————————————————————–
今後の頑張りに繋がりますので、高評価・チャンネル登録もよろしくお願いします。
↓チャンネル登録は以下のリンクからでもできます!
http://www.youtube.com/channel/UCiSfMiEnihaQbom4dhIZBpQ?sub_confirmation=1
ツイッターでも情報を発信しています。
Tweets by NoelRecords_App
欲しいものリスト作ってみました。
開発環境を更新したい!!いろいろ実験してみたい!!
https://www.amazon.jp/hz/wishlist/ls/KORH9OT5RT9E?ref_=wl_share
コメント