66 votes

Doxygen vs Javadoc

Je viens de réaliser à partir d'un article dans CACM que Doxygen fonctionne avec Java (et dans plusieurs autres langues). Mais Java est déjà l'outil Javadoc. Quelqu'un peut m'expliquer quels sont les avantages et les inconvénients de l'un et l'autre? Sont-elles incompatibles? Est-il un plugin Maven pour Doxygen?

74voto

Peter Becker Points 2962

Doxygen a un certain nombre de caractéristiques qui JavaDoc n'offre pas, par exemple, les diagrammes de classe pour les hiérarchies et le contexte de la coopération, de plus en plus des pages de résumé en option code source de la navigation (réticulé avec de la documentation), en charge de la balise comme @todo sur une page séparée, et il peut générer des résultats dans les TeX et PDF.Il permet aussi beaucoup de personnalisation visuelle.

Depuis Doxygen prend en charge la norme JavaDoc des balises que vous pouvez exécuter Doxygen sur le code source avec des commentaires JavaDoc. Souvent, il peut même être utile d'exécuter du code source sans JavaDoc depuis les diagrammes et le code source de la navigation peut aider à la compréhension du code, même sans la documentation. Et depuis la JavaDoc de l'outil ignore inconnu des balises que vous pouvez même utiliser d'autres Doxygen balises sans rupture de génération de la JavaDoc.

Ayant dit tout cela, je dois avouer que je n'ai pas utilisé de Doxygen pour un long moment. J'ai tendance à s'appuyer fortement sur mon IDE aujourd'hui pour fournir la même visualisation et la j'ai l'habitude de ne pas lire la JavaDoc des pages HTML, mais importer les fichiers source dans mon IDE de sorte qu'il peut générer la JavaDoc des menus volants et je peux sauter les définitions. C'est encore plus puissant que ce que Doxygen a à offrir. Si vous voulez avoir de la documentation à l'extérieur de l'IDE et sont heureux de courir non-outillage Java puis Doxygen vaut la peine d'essayer car il ne nécessite aucune modification de votre code Java.

16voto

Bill the Lizard Points 147311

J'avais seulement utiliser Doxygen avec Java si vous êtes nouveau à Java et que vous avez utilisé Doxygen avant, de réduire la courbe d'apprentissage que vous feriez l'expérience avec javadoc. Si vous n'avez pas utilisé Doxygen avant, je collerais avec javadoc, car il a été spécialement conçu avec Java à l'esprit. Si vous ne connaissez pas, et vous travaillez en C++ (ou d'autres langues prises en charge) autant que vous Java, Doxygen est un bon choix, que vous serez en mesure de l'utiliser pour les deux langues.

Les deux outils sont faciles à utiliser, avec un jeu de fonctionnalités similaire. Les deux ont des plugins (ou pré-intégrée) pour NetBeans et Eclipse rendant encore plus rapide pour générer de la doc. Il y a beaucoup de chevauchement dans les commentaires du style utilisé par chacun, mais ils ne sont pas exactement les mêmes, de sorte qu'il serait difficile de les mélanger (vous devez avoir à connaître les détails de la fois, en laissant de côté toutes les fonctionnalités qui sont spécifiques à l'un ou l'autre). Je n'ai jamais utilisé, mais il ne semble pas être un plugin Maven pour Doxygen.

3voto

dr_pepper Points 911

J'aime le fait qu'avec Doxygen, vous pouvez obtenir des diagrammes de classe affiché sur la même page que la documentation. Aussi, j'aime le fait qu'il vous relie directement au code source, si nécessaire. Je ne suis pas au courant si javadoc a fait de ces caractéristiques.

2voto

MintUser Points 11

Un gros avantage de la documentation Javadoc ils fonctionnent, tout simplement. Tout le nécessaire pour créer et afficher leur est inclus dans le JDK que vous devez avoir installé le pour compiler vos programmes.

Doxygen, sur l'autre main peut être une douleur à configurer et faire fonctionner correctement. mais s'il est configuré correctement, il devrait être en mesure de générer des fichiers Pdf, Rtf, et DocBooks, ainsi que HTML. Le HTML n'est pas organisé par défaut de la documentation Javadoc depuis le index.html affiche une page vide par défaut. Aussi, inline classes membres statiques et des besoins spéciaux des drapeaux pour être inclus dans la documentation, et si vous voulez générer un PDF, vous pouvez avoir à traiter avec les tracas de votre distribution de Linux, de ne pas avoir besoin de pdflatex de commande (par exemple Ubuntu/Mint ont eu des problèmes récemment) donc, si vous venez apt-get installer et l'exécuter, vous pouvez obtenir un écran plein d'erreurs, même avec un programme simple. Par rapport à la facilité de prise en javadoc automatiquement lors de l'installation de l'API, Doxygen le programme d'installation peut être une expérience malheureuse. Une fois que vous surmonter les obstacles, il devrait être plus souple dans les relations avec les projets impliquant plus que juste java, cependant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X