2

私が次のようなことをした場合:

new_list = []
new_list.foo()

flake8 は、'list' メソッドではないため、foo() メソッドに対してエラーを返しません。

これは正常ですか、それとも何か設定する必要がありますか?

4

2 に答える 2

2

Flake8は、これらのツールのラッパーです。

  • PyFlakes
  • pep8
  • ネッド・バッチェルダーのマッケイブ脚本

PyFlakesは、このタイプのエラーを検出することが期待される部分です。しかし、それはほとんど検出されません。その理由は次のとおりです。

Pyflakes は、Pylint や Pychecker よりも高速です。これは主に、Pyflakes が各ファイルの構文ツリーを個別に調べるだけだからです。結果として、Pyflakes はチェックできるものの種類がより制限されます。

flake8のドキュメントには、Pyflakes によって提供されるエラー コードが一覧表示されています。

code    sample message
F401    module imported but unused
F402    import module from line N shadowed by loop variable
F403    ‘from module import *’ used; unable to detect undefined names
F404    future import(s) name after other statements
F811    redefinition of unused name from line N
F812    list comprehension redefines name from line N
F821    undefined name name
F822    undefined name name in __all__
F823    local variable name ... referenced before assignment
F831    duplicate argument name in function definition
F841    local variable name is assigned to but never used

2 番目に PyCharm を推奨し、次に PyLint を推奨します。

于 2016-05-08T14:56:19.493 に答える