今回は、同じくソースコードの静的解析を行う pyflakes を紹介します。
pylint の記事と同じ以下のソースコードに対して、pyflakes を走らせます。
def make_plural(fruit): if fruit == 'apple': plural = 'apples' elif fruit == 'orange': plural = 'oranges' elif fruits == 'peach': plural = 'peaches' else: prural = '' return plural結果は以下のようになりました。
fruit.py:6: undefined name 'fruits' fruit.py:9: local variable 'prural' is assigned to but never usedpylint と同じく2箇所のバグを指定してくれています。lint として十分使えるのではないかと思われます。
ここまで、pyflakes について簡単に紹介してきました。しかし、実際には pyflakes を単品で使うことは少なくて、より統合化された flake8 を使うのが一般的です。
flake8 はデフォルトでは pyflakes + pycodestyle としてチェックを行います。つまり、ソースコードの解析は pyflakes が、ソースコードのスタイルチェックは pycodestyle が行い、結果はまとめて表示されます。pyflakes と pycodestyle を別々に走らせる必要がないわけで、単純に便利ですよね。
さらに、flake8 はプラグインを導入することで、別のチェックを追加することができるようになっています。
最も有名なのは、pydocstyle を追加する flake8-docstrings でしょうか。このプラグインをインストールすると、pyflakes + pycodestyle + pydocstyle の3つのチェックを一度で行えることになります。
他にも、様々なプラグインが公開されています。
0 件のコメント:
コメントを投稿