私はPython3でコーディングしており、コードをクリーンに保つためにpylintを使用しています。
インターフェイスクラスのようなものを定義したいので、クリーンで簡潔な方法で機能を追加できますが、pylintはこの目標の邪魔になります。
サンプルメソッドは次のとおりです。
def on_enter(self, dummy_game, dummy_player): #pylint disable=no-self-use
"""Defines effects when entering area."""
return None
Pylintの出力は次のとおりです。
R: 70, 4: Method could be a function (no-self-use)
質問は:
#pylint
コメントに注意してください)?またはdummy_game
とdummy_player
に注意してください)編集:pylint --version
の出力:
pylint 1.2.1,
astroid 1.1.1, common 0.61.0
Python 2.7.8 (default, Oct 20 2014, 15:05:19)
[GCC 4.9.1]
あなたは現在これを無視しています
_def on_enter(self, dummy_game, dummy_player): #pylint disable=no-self-use
...
_
代わりに
_# pylint: disable=R0201
def on_enter(self, dummy_game, dummy_player):
...
_
以下のようにファイルにコメントを追加します
_# pylint: disable=R0201
_
警告/エラーごとにショートコードのニーモニックを見つけることができます ドキュメントはこちら :
no-self-use (R0201)
:メソッドは関数である可能性がありますメソッドがバインドされたインスタンスを使用しない場合に使用されるため、関数として記述できます。
ファイル全体にインターフェースのコードのみが含まれている場合は、これを一番上に置くことができます。
_# pylint: disable=R0201
class SomeInterface(object):
...
...
_
他のコードもあり、インターフェイスクラスに対してのみこれを無効にしたい場合は、次のようにチェックを再度有効にすることができます。
_# pylint: disable=R0201
class SomeInterface(object):
...
...
# pylint: enable=R0201
class AnotherClass(object):
...
...
_
私は結腸が不足していたことが判明しました:
使ったpylint disable=no-self-use
あるべきだったときpylint: disable=no-self-use
まあ、少なくとも私はこれから常に最新の(そしてpython3用に構築された)pylintを持っています:)