4

私のクラスには、クラスの他のメソッドでのみ使用されることを意図したメソッドがいくつかあります。名前の前に「_」を付けました。これらの関数をepydocから非表示にできますか?それは良い考えですか?

'_'または二重アンダースコアを使用する必要がありますか?正直なところ、いくつかの場所でそれらについて読んだ後、私は違いを理解しませんでした。この命名規則は、モジュール/クラス(インスタンス)関数でのみ使用する必要がありますか?または変数も?

4

1 に答える 1

6

すべてのプライベートメソッドとプライベート変数を非表示にする場合は、オプション'--no-private'をepydocに渡します。

-epydocの場合、次の場合、メソッドまたは変数はプライベートであることに注意してください。

  • その名前はアンダースコア「_」で始まり
  • その名前はアンダースコア「_」で終わらない
  • 特別なすべての辞書にその名前を含めませんでした。

または、「undocumented」タグを使用して、epydocに特定のメソッドまたは変数を完全に無視させることもできます。

たとえば(そしてここではReStructuredTextのようなフォーマットを想定しています):

class MyClass:
  """Some neat description

  :undocumented: x
  """

  def _y(self): pass
  def x(self): pass
  def z(self): pass

ドキュメントには、_y('--no-private'オプションを使用した場合を除く)とzのみが含まれるようになります。プライベートでなくても、xについては何もありません。

プライベートメソッドを最終的なドキュメントに表示するかどうかは、好みの問題です。私にとって、ドキュメントは、内部実装に関心がない、または関心がないはずの人々によって読まれます。プライベートメソッドは完全に隠すのが最善です。

于 2011-10-23T20:51:57.973 に答える