145

Pylint は、一部のファイルに docstring がないというエラーをスローします。各クラス、メソッド、および関数にdocstringを追加しようとしましたが、Pylintはファイルの先頭にdocstringが必要であることもチェックしているようです。どういうわけかこれを無効にすることはできますか?

クラス、関数、またはメソッド内で docstring が欠落しているという通知を受け取りたいのですが、ファイルに docstring があることは必須ではありません。

(プロプライエタリなソース ファイルの冒頭によく見られる法律用語の用語はありますか?何か例はありますか?そのような些細な質問を別に投稿してよいかどうかはわかりません。)

4

13 に答える 13

156

Python モジュールに docstring があり、モジュールが何をするか、何を提供するか、クラスの使用方法の例を説明していると便利です。これは、IMO が docstring に入れるべきではない、著作権とライセンス情報を提供するファイルの先頭によく見られるコメントとは異なります (完全に削除すべきだと主張する人もいます。たとえば、Get Rid of Source Code Templates を参照してください) 。

Pylint 2.4 以降では、missing-docstring次の 3 つのサブメッセージを使用してさまざまなメッセージを区別できます。

  • C0114( missing-module-docstring)
  • C0115( missing-class-docstring)
  • C0116( missing-function-docstring)

したがって、次の.pylintrcファイルが機能するはずです。

[MASTER]
disable=
    C0114, # missing-module-docstring

以前のバージョンの Pylint では、docstring が発生する可能性があるさまざまな場所の個別のコードがないため、 C0111を無効にすることしかできません。問題は、これをモジュール スコープで無効にすると、モジュール内のどこでも無効になることです (つまり、関数 / クラス / メソッドの docstring が見つからないための C 行を取得できません)。これは間違いなく良くありません。

したがって、次のように言って、不足している小さな docstring を追加することをお勧めします。

"""
high level support for doing this and that.
"""

すぐに、クラス/関数の個々のドキュメント文字列に必ずしも属さないモジュールのさまざまなクラス/関数の使用方法の例を提供するなど、そこに入れると便利なものが見つかるでしょう (これらの方法など)対話、またはクイックスタートガイドのようなもの)。

于 2011-10-24T16:21:22.320 に答える
12

この機能を無効にしなくても、修正は比較的簡単だと思います。

def kos_root():
    """Return the pathname of the KOS root directory."""
    global _kos_root
    if _kos_root: return _kos_root

すべての関数に 3 つの二重引用符文字列を追加するだけです。

于 2016-11-23T03:34:04.117 に答える
11

これらの警告を無効にするファイルの先頭に次の行を追加するだけです。

# pylint: disable=missing-module-docstring
# pylint: disable=missing-class-docstring
# pylint: disable=missing-function-docstring
于 2020-01-21T07:29:17.790 に答える