bookmark_borderPythonコードチェックツール

Pythonのソースコードを自動チェックしてくれるツールはないかと探すといくつか出てきたけれど、今回はflake8というチェックツールを使用してみたのでそれについてまとめる。

今回主に参考にしたサイトはこちら。

Pythonのスタイルガイドとそれを守るための各種Lint・解析ツール5種まとめ!

pythonでコーディング規約(pep8)に準拠しているかチェック方法

flake8とは、ソースコードがPythonのコード規約(PEP8)に則っているか、論理的エラーがないか、また循環複雑度を確認するツール。

pycodestyleというコード規約チェックツールと、pyflakesという論理的エラーチェックツールの機能に+αで循環複雑度チェックの機能が入っているらしい。

※pep8というツールが新しくなったものがpycodestyleらしい。(pep8自体は今も使える)

pip install flake8

でインストールして使用可能となり、

flake8 main.py

で実行可能。
(main.pyの部分には確認したいソースファイルを入れる)

実行してみるとこんな感じでエラーが出てきました。

エラー出すぎ!!

「E」や「W」から始まるエラーコードはコード規約エラーまたは警告、「F」から始まるエラーコードは論理的エラーの検知、「C」から始まるエラーコードは循環複雑度の検知らしい。

flake8 ./

のようにディレクトリを指定してやると、ディレクトリ内の.pyファイルをすべてチェックしてくれるみたい。
便利!!

その他にも

flake8 main.py --show-source

のようにオプションをつけて送ると、ソースコードの指摘箇所も表示してくれるようになるみたい。

ちなみにオプション一覧は

flake8 --help

で確認可能。

autopep8というツールを使うと自動でコード修正までしてくれるみたいだけど、最初はエラーを確認しながら自分で修正していきたいのでとりあえずは使いませんでした。
(手間に感じてきたら使うかも)