1

私が取り組んでいるPythonコードでは、先頭にアンダースコアが1つあるメソッドは「保護」され、先頭にアンダースコアが2つあるメソッドは「プライベート」であるという規則が使用されています。ここで、アンダースコアのないすべてのメソッドと、先頭にアンダースコアが 1 つあるすべてのメソッドの Doxygen 抽出ドキュメントが必要ですが、先頭にアンダースコアが 2 つあるメソッドは必要ありません。

私が見つけたさまざまな設定とコマンドは、アンダースコアのないメソッドのみ、またはすべてのメソッド (先頭にアンダースコアが 1 つまたは 2 つあるメソッドを含む) のドキュメントを提供します。

4

1 に答える 1

2

Doxygen には現在、_ で始まるメソッドがプライベートとして扱われるというハードコーディングされた動作があります。

これを変更したい場合は、doxygen のソース コードを見てください。特に、newFunction()関数src/pyscanner.lを次のように変更する必要があります。

static void newFunction()
{
  if (current->name.left(2)=="__" && current->name.right(2)=="__")
  {
    // special method name, see
    // http://docs.python.org/ref/specialnames.html
    current->protection=Public;
  }
  else if (current->name.left(2)=="__")
  {
    current->protection=Private;
  }
  else if (current->name.at(0)=='_')
  {
    current->protection=Protected;
  }
}
于 2012-10-15T13:06:11.570 に答える