13

PEP 257 言います

クラスを文書化するすべての docstring (1 行または複数行) の前後に空行を挿入します。空行による最初の方法。対称性のために、クラス ヘッダーとドキュメント文字列の間に空白行を挿入します。

しかし、実際にこれを実装するコードが見つからないようです。

私は、Python 2.6 で配布されたいくつかの標準モジュールをチェックしました。特に、Guido の名前が言及されているものを検索しました。しかし、rietveld コード レビュー ツールのコードでさえ準拠していません (例: http://code.google.com/p/rietveld/source/browse/upload.pyを参照)。

class CondensedHelpFormatter(optparse.IndentedHelpFormatter):
   """Frees more horizontal space by removing indentation from group
      options and collapsing arguments between short and long, e.g.
      '-o ARG, --opt=ARG' to -o --opt ARG"""

   def format_heading(self, heading):
     return "%s:\n" % heading

この複数行の docstring の前には空白行がなく、後の空白行は閉じ引用符の外側にあります。

このクラスの from/usr/lib64/python2.6/site.pyには、前に空白行はありませんが、閉じ引用符の前後に空白行があります。

class _Helper(object):
    """Define the built-in 'help'.
    This is a wrapper around pydoc.help (with a twist).

    """

    def __repr__(self):

PEP 257 を実証するために利用できる例はありますか?

前もって感謝します

4

3 に答える 3

10

直接的な答えではありませんが、PEP257に準拠したい場合は、私が作成したツールを使用できます: https ://github.com/halst/pep257

、(標準ライブラリにある)どれだけのコードがPEP257に準拠しようとしていないかを見てショックを受けました。

たぶん、ほとんどの人はドクストリングスタイルが理にかなっていると思いますし PEP257スタイルには何か厄介なものがあると思いましたが、しばらく使ってみて、それが一番美しい方法だと思いました。 docstringを記述します。私は常にPEP257を可能な限りフォローし、より多くの人々が自分のスタイルをどのように改善できるかを理解できるようにツールを作成しました。

例として、私はPEP8とpep8ツールで面白い経験をしました:最初にPEP8を読んだとき、私はそれが好きで、それに従うと思いましたが、pep8でコードを試したとき、私はPEP8からどれだけ離れているか、そしてどのようにこれらのスタイルエラーを修正した後のコードの見栄えが良くなります。

人々がpep257で同様の経験をし、その後もPEP257を楽しくフォローし始めることを願っています。

于 2012-04-08T19:35:14.773 に答える
0

私が見る限り、リンク先の文書には次のように書かれています。

クラスを文書化するすべての docstring (1 行または複数行) の後に空白行を挿入します。一般的に言えば、クラスのメソッドは単一の空白行で区切られており、docstring は最初のメソッドからオフセットする必要があります。空行で。

(私のものを強調)

したがって、docstring の後に空白行があり、次のメソッド宣言が空白行で区切られているため、指定した例はすべて正しいです。

于 2015-03-04T12:23:59.713 に答える