14

私はかなり大きなオープン ソース RTS ゲーム エンジン ( Spring ) に取り組んでいます。私は最近、Lua で呼び出し可能な新しい C++ 関数を追加しました。それらをどのように文書化するのが最善かを考えています。同時に、多くの既存の Lua 呼び出しに関する文書を作成/更新するよう人々を刺激します。

したがって、ドキュメントを最初に C++ 関数の近くに doxygen コメントとして記述できればよいと考えました。これは、関数の本体が明らかに関数の動作を正確に定義しているため簡単です。ただし、一般的に git (私たちが使用する VCS) や C++ についてほとんど理解していない、エンジンを使用するゲーム開発者によってドキュメントが改善されることを望みます。

したがって、C++ ファイルから apidoc を自動的に生成する方法があれば理想的ですが、より幅広い視聴者がコメントを更新したり、例を追加したりできるようにする wiki のような Web インターフェイスも必要です。

だから私は、doxygen スタイルの書式設定、それらのコメントの wiki のような編集 (ソース ファイルの他の部分の編集を許可しないことが望ましい) と git を統合する Web ツールが存在するかどうか疑問に思っています。(Web インターフェイスを介して変更されたコメントを特別なブランチにコミットするため)

私たち開発者は、このブランチを時々マージして、マスター ブランチに改善を追加することができます。同時に、開発者によるドキュメントの改善は、マスター ブランチをこの特別なブランチにマージするだけで、この Web ツールに反映されます。ブランチ。

私はまだ何も見つけていません。この特定のものがまだ存在するのではないかと疑っていますので、どんな提案も大歓迎です!

4

1 に答える 1

6

これは確かに非常にクールなアイデアであり、数年前、私もそのようなものが非常に強く必要でした. 残念ながら、少なくとも当時は、そのようなものを見つけることができませんでした。sourceforge と freshmeat でクイック検索を行っても、今日関連するものは何も表示されません。

しかし、ユーザーが投稿したドキュメントへのそのような wiki フロントエンドが非常に有用であることには同意します。このようなことが最近 Lua コミュニティ内でも議論されているという事実を知っています (これを参照してください)。

では、基本的な作業草案/プロトタイプを作成するための要件を決定できるでしょうか?

願わくば、これにより、最小限の機能セットでそのようなプロジェクトを開始し、それをオープン ソース プロジェクト (例: sourceforge) として公開して、他のユーザーがそれに貢献できるようになることを願っています。

理想的には、統一されたパッチを使用して、そのような方法で提供された変更を適用できます。また、テキストの任意の変更を許可するのではなく、コメントの追加/編集のみに変更を制限することはおそらく理にかなっています。これはおそらく単純な正規表現を使用して実装できます。

おそらく、mediawiki などの既存の (確立された) ウィキ ソフトウェアを変更することで、そのようなものを実装することができます。またはできれば、すでに git をストレージ目的のバックエンドとして使用しているもの。次に、主にこれらの Doxygen スタイルのコメントに対応し、その上にシンプルなインターフェイスを提供する必要があります。

もう少し考えてみると、DoxyGen 自体は HTML ドキュメントを生成するためのサポートを既に提供しています。埋め込まれたソース コード ドキュメントのカスタマイズ。

これはおそらく主に、doxygen (例: python、php、perl) を使用してスタンドアロン スクリプトを提供し、オプションで、自動作成された HTML ドキュメントにフォームを埋め込むことで、ドキュメントの修正/拡張を対応するスクリプトにブラウザ経由で送信できるようになります。 、これにより、対応するブランチに変更が書き戻されます。

長期的には、そのようなスクリプトがさまざまなタイプのバックエンド (CVS、SVN、または git) をサポートするか、少なくとも十分に汎用的に実装されて、簡単に拡張できるようになると素晴らしいでしょう。

したがって、良い設計を考え出すことができれば、そのような変更が doxygen 自体への貢献として一般に受け入れられる可能性さえあるかもしれません。

アイデアが実際のプロジェクトに直接具体化されなくても、実際にそのアイデアを気に入っている他のユーザーがどれだけいるかを確認して、doxygen イシュー トラッカー ( https://github.com/ doxygen/doxygen/issues/new )。

編集: "Documentation, Git and MediaWiki"というタイトルのこの記事も参照してください。

于 2009-05-30T23:34:54.653 に答える