見出し画像

初心者でも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について使い方を簡単に見ていきますので、良かったらご覧ください。


今後もプログラミングや英語に関した記事を書いていきたいと思いますので、よければサポートよろしくお願いします!