質問

CACMの記事から、DoxygenがJava(および他のいくつかの言語)でも動作することがわかりました。しかし、JavaにはすでにJavadocツールがあります。誰かがどちらのアプローチの長所と短所を説明できますか?それらは相互に排他的ですか? Doxygen用のMavenプラグインはありますか?

役に立ちましたか?

解決

Doxygenには、JavaDocが提供しない多くの機能があります。階層と協力コンテキストのクラス図、より多くの要約ページ、オプションのソースコード閲覧(ドキュメントと相互リンク)、別のページの@todoなどの追加タグのサポート。TeXおよびPDF形式で出力を生成できます。また、多くの視覚的なカスタマイズも可能です。

Doxygenは標準のJavaDocタグをサポートしているため、JavaDocコメントが記述された任意のソースコードでDoxygenを実行できます。図やソースコードの参照は、ドキュメントがなくてもコードを理解するのに役立つため、JavaDocを使用せずにソースコードで実行するのが理にかなっていることがよくあります。また、JavaDocツールは未知のタグを無視するため、JavaDocの生成を中断せずに追加のDoxygenタグを使用することもできます。

これをすべて述べたので、私は長い間Doxygenを使用していなかったことを認めなければなりません。私は最近、同じ視覚化を提供するためにIDEに大きく依存する傾向があり、通常はJavaDocをHTMLページとして読み取らず、JavaDocフライアウトを生成して定義にジャンプできるようにIDEにソースファイルをインポートします。これは、Doxygenが提供するものよりもさらに強力です。 IDEの外部にドキュメントがあり、Java以外のツールを実行したい場合は、Javaコードを変更する必要がないため、Doxygenを試してみる価値があります。

他のヒント

私は、Javaを初めて使用し、以前にDoxygenを使用したことがある場合にのみJavaでDoxygenを使用し、javadocで経験する学習曲線を減らします。 Doxygenを以前に使用したことがない場合は、Javaを念頭に置いて特別に設計されているため、javadocを使い続けます。どちらも知らず、Javaと同じくらいC ++(または他のサポートされている言語)で作業している場合は、両方の言語で使用できるDoxygenが適しています。

両方のツールは使いやすく、同様の機能セットを備えています。どちらもNetBeansとEclipse用のプラグインを備えている(または組み込み済み)ため、ドキュメントの生成がさらに高速になります。それぞれに使用されるコメントスタイルには多くの重複がありますが、それらは正確に同じではないため、それらを一緒に混在させることは困難です(< em> both 、どちらか一方に固有の機能は省略します)。使用したことはありませんが、 DoxygenのMavenプラグインがあるようです。

Doxygenを使用すると、ドキュメントと同じページにクラス図を表示できます。また、必要に応じてソースコードに直接リンクするという事実も気に入っています。ただし、javadocにこれらの機能があるかどうかはわかりません。

JavaDocsの大きな利点の1つは、そのまま動作することです。これらのビルドと表示に必要なものはすべて、プログラムをコンパイルするためにインストールする必要があるJDKに含まれています。

一方、Doxygenはセットアップして正しく動作させるのが面倒です。ただし、正しく設定されていれば、PDF、RTF、DocBook、およびHTMLを生成できるはずです。 index.htmlはデフォルトで空白のページを表示するため、HTMLはデフォルトではJavaDocsほど編成されていません。また、インラインクラスと静的メンバーにはドキュメントに含める特別なフラグが必要な場合があります。PDFを生成する場合は、必要なpdflatexコマンドを持たないLinuxディストリビューションの手間を処理する必要があります(例:Ubuntu / Mintは最近の問題)ので、apt-getをインストールして実行すると、単純なプログラムでも画面がエラーでいっぱいになることがあります。 APIをインストールするときにjavadocを自動的に取得するのに比べて、Doxygenのセットアップは悲惨な体験になる可能性があります。ただし、ハードルを克服すれば、Javaだけでなくそれ以上のプロジェクトにも柔軟に対応できるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top