pythonファイルでpylintを実行すると、デフォルトでTODOコメントに関する警告が表示されます。例:
*************モジュールfoo
W:200、0:TODO(SE):これを修正してください! (fixme)
W:294、0:TODO(SE):バックログアイテム(fixme)
W:412、0:TODO(SE):バケットを削除しますか? (fixme)
この動作は便利ですが、これらの特定の警告を一時的および/または永続的にオンまたはオフにする方法を知りたいと思います。
Pylint設定ファイルを生成できます:pylint --generate-rcfile > ~/.pylintrc
TODOコメントの警告を無効にするには、このファイルに何を入れるかを確認しているだけです。
生成された設定ファイルに、セクションが表示されます。
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,XXX,TODO
「メモ」リストからTODOを削除するだけです。
設定ファイルは次の場所にあります。
~/.pylintrc
構成ファイルを生成していない場合、これは次の方法で実行できます。
pylint --generate-rcfile > ~/.pylintrc
@sthenaultによって投稿された、すべての警告を無効にできるソリューションに加えて、Pylintでは、次のように1行を無視することもできます(将来的に対処したい場合に役立ちます)。
A_CONSTANT = 'ugh.' # TODO: update value # pylint: disable=fixme
またはルールIDを指定することによって:
A_CONSTANT = 'ugh.' # TODO: update value # pylint: disable=W0511
私たちのプロジェクトにはpylint.cfgファイルがあります。 --rcfile
pylintオプションを使用してそのファイルをポイントします。
Pylint.cfgで、チェッカーを無効にすることができますW0511これは、コメント内の「TODO」および同様の用語について文句を言うチェッカーです。パラメータdisable
のコンマ区切りリストにW0511
を追加するだけです。
しかし、ボブマーチンおじさんが言うように、TODOはシステムに悪いコードを残す言い訳ではないことを忘れないでください。コードを定期的にスキャンして、TODO、pylint、sonarqubeを削除する必要があります。問題は、そうするための良いリマインダーと動機として機能する可能性があります。