16

友人がPylintについて教えてくれましたが、好奇心から、いくつかの標準ライブラリモジュールに対して実行しました。驚いたことに、評価は低かった。ここにいくつかの実行があります:

os.py
Your code has been rated at 3.55/10 

random.py
Your code has been rated at 4.74/10

さらにいくつかのモジュールで実行したところ、評価は〜6〜7であることがわかりました。

この背後にある理由を疑問に思っていましたか?ピリントは壊れていますか、それとも私が知っているよりも多くの要因が評価にありますか?私はこの質問をしています。特に私はPythonを初めて使用し、コーディングスタイルの改善をPylintに依存していたからです:)

4

2 に答える 2

13

Pylintのデフォルトは非常に厳格であり、すべきでないことについて不平を言っています。たとえば、を使用するfoo(**kwargs)と、「魔法」の使用に関するメッセージが表示されます。pylintがJavaプログラマーの観点からPythonを見ているように見えることがあります。

特定のメッセージを見て、それらに同意するかどうかを判断する必要があります。

その他の問題には、プラットフォーム固有の条件を実行できないことが含まれます。os.pyでは、次のように文句を言います。

F:119: Unable to import 'riscos'
于 2010-07-28T18:11:27.537 に答える
8

Pylint は stdlib のずっと後に書かれました。また、stdlib は、たとえば厳密な命名規則に準拠していません (PEP008 は最近のもので、Python に関して)。「良い」pylint 評価を得るための主な要因:

  • コードの記述スタイルが Pylint が期待するものに準拠していることを確認してください (または、スタイルや規則に合わせて Pylint を調整してください)。これには、関数、変数、クラス、メソッド名、さまざまな場所のスペースなどが含まれます。

  • できるだけ静的な方法で Python コードを記述し、動的なトリックを回避します。

  • ドキュメントストリングを書く

明らかに、標準ライブラリは Pylint のモジュール評価を最適化するように書かれていません。

Pylint を使用しても、必ずしも「コーディング スタイル」が向上するとは限りません。ただし、多くの場合、コードがより理解しやすくなりますが、「pythonicity」が犠牲になることもあります。

于 2010-08-11T13:23:54.157 に答える