初心者でもOK!LinterとFormatterでPythonのコードをキレイに書く【Python】(Flake8, Black, isort)
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について使い方を簡単に見ていきますので、良かったらご覧ください。