複数のグローバル関数とグローバル変数を含むモジュールがあります。変数と一部の関数は、Python の「プライベート」命名規則に従い、名前の先頭にアンダースコアを付けます。他の関数はパブリックであることを意図しており、先頭にアンダースコアはありません。
__all__
ファイルの先頭で、パブリック関数名のリストを使用して を宣言しました。
epydocを使用してこのモジュールのドキュメントを生成しようとすると、epydoc はモジュール内のすべてを非公開と見なします。また、--no-private
フラグを使用しているため、出力にはモジュール自体のドキュメントのみが表示され、モジュールの要素や個々のドキュメントは表示されません。
--no-private
epydoc でフラグを使用しない場合、すべてが文書化されます。しかし、私はそこに私的なものを望んでいません。ここにキッカーがあります:をコメントアウトすると__all__
、epydoc はモジュールのパブリック要素のみを正しくドキュメント化します。
私は比較的Pythonの初心者ですが、私が理解しているように、__all__
他のモジュールをインポートしてから他のモジュールがあなたのモジュールをインポートするときに問題が発生しないようにするためのものであり、すべてが技術的に公開されているときに物事をよりしっかりとカバーしようとするためのものです.アクセスしようとしているものの名前を知っている限り。省略__all__
すると、Bad Things™ につながる可能性があると言われています。同時に、epydoc は、__all__
何が公開され、何が公開されていないかを決定することを尊重すると主張しています。
__all__
私のコードでの の使用法や epydoc のバグについて間違っていると仮定して、epydoc を間違って使用しているのですか? (新しいバージョンの docutils が原因であると思われる epydoc のエラー処理バグを 1 つ解決済みです。)