0

sayモジュールを書いたのは、フォーマットされた印刷をより単純で簡単なものにするためです。例えば

say("{len(items)} retrieved; {n_errors} encountered")

それよりも:

print("{0} retrieved; {1} encountered".format(len(items), n_errors))

その部分はうまくいっています。pylintしかし、落とし穴や間違いを探すために走るのが好きです。say残念ながら、多くのデータ値は、出力操作での有用性のためだけに構築されており、pylint は、呼び出し (またはその他のテンプレート出力メカニズム) での使用が変数の真の使用を構成することを「認識」できません。W0612 (unused-variable) 警告の波が次々と発生する可能性があります。

単純に無視コメントを入れることは可能ですが、それは逆行しているようです。say()テンプレートで使用される変数が実際に使用されていることを理解するために、pylint を拡張したいと思います。

.../pylint/checkers/variables.pyこのチェックを追加する場所のようですが、私はコードベースに慣れていません。フォーマットスタイルの文字列で使用される変数を登録する方法に関するヒントや提案は、実際に適切に使用されていますか?

4

1 に答える 1

0

「変数」チェッカーでは、使用された変数がself._to_consume[-1]リストから削除されます (selfチェッカーであり[-1]、これは関数ごとの変数リストのスタックであるためです。

いずれにせよ、このトピックに関するさらなる議論はむしろコード品質メーリング リストに行くべきだという Alex の意見は正しいです。

于 2013-08-29T06:25:47.340 に答える