Question

Je viens de me rendre compte, d'après un article du CACM, que Doxygen fonctionne également avec Java (et plusieurs autres langages). Mais Java a déjà l'outil Javadoc. Quelqu'un peut-il expliquer quels sont les avantages et les inconvénients de l'une ou l'autre approche? Sont-ils mutuellement exclusifs? Existe-t-il un plugin Maven pour Doxygen?

Était-ce utile?

La solution

Doxygen possède un certain nombre de fonctionnalités que JavaDoc n’offre pas, par exemple: les diagrammes de classes pour les hiérarchies et le contexte de coopération, davantage de pages de résumé, la navigation de code source optionnelle (liée à la documentation), la prise en charge de balises supplémentaires telles que @todo sur une page distincte et pouvant générer une sortie au format TeX et PDF .Il permet également beaucoup de personnalisation visuelle.

Etant donné que Doxygen prend en charge les balises JavaDoc standard, vous pouvez exécuter Doxygen sur n’importe quel code source contenant des commentaires JavaDoc. Il peut même parfois être judicieux d’exécuter sur du code source sans JavaDoc car les diagrammes et la navigation dans le code source peuvent aider à comprendre le code, même sans la documentation. Et comme l'outil JavaDoc ignore les balises inconnues, vous pouvez même utiliser des balises Doxygen supplémentaires sans interrompre la génération de JavaDoc.

Cela dit, je dois admettre que je n’ai pas utilisé Doxygen depuis longtemps. De nos jours, je me fie beaucoup à mon IDE pour fournir la même visualisation. En général, je ne lis pas JavaDoc en tant que pages HTML, mais j'importe les fichiers source dans mon IDE afin qu'il puisse générer des flyouts JavaDoc et me permettre de passer directement aux définitions. C'est encore plus puissant que ce que Doxygen a à offrir. Si vous souhaitez avoir de la documentation en dehors de l'EDI et que vous souhaitez utiliser des outils non-Java, alors Doxygen vaut la peine d'essayer, car il ne nécessite aucune modification de votre code Java.

Autres conseils

Je n’utiliserais Doxygen avec Java que si vous débutez en Java et que vous avez déjà utilisé Doxygen, ce qui réduirait la courbe d’apprentissage que vous auriez avec javadoc. Si vous n’aviez jamais utilisé Doxygen auparavant, javadoc serait utile car javadoc a été spécialement conçu pour Java. Si vous ne connaissez ni l’un ni l’autre et que vous travaillez autant en C ++ (ou dans d’autres langages pris en charge) que Java, Doxygen est un bon choix car vous pourrez l’utiliser pour les deux langages.

Les deux outils sont faciles à utiliser, avec un ensemble de fonctionnalités similaires. Les deux ont des plugins (ou sont pré-intégrés) pour NetBeans et Eclipse, ce qui rend encore plus rapide la génération de doc. Il y a beaucoup de chevauchement dans le style de commentaire utilisé par chacun, mais ils ne sont pas exactement , il serait donc difficile de les mélanger (vous devez connaître les détails de < em> les deux , en laissant de côté toutes les fonctionnalités spécifiques à l’un ou l’autre). Je ne l'ai jamais utilisé, mais il semble qu'il existe un plug-in Maven pour Doxygen .

J'aime le fait qu'avec Doxygen, vous pouvez obtenir des diagrammes de classes sur la même page que la documentation. De plus, j'aime le fait que cela vous relie directement au code source, si nécessaire. Je ne sais pas si javadoc a ces fonctionnalités bien.

L’un des gros avantages de JavaDocs est qu’ils fonctionnent. Tout le nécessaire pour les construire et les voir est inclus dans le JDK que vous devez déjà avoir installé pour compiler vos programmes.

Doxygen, en revanche, peut s’avérer difficile à installer et à fonctionner correctement. mais s'il est configuré correctement, il devrait pouvoir générer des PDF, RTF et DocBooks, ainsi que HTML. Le HTML n'est pas aussi bien organisé par défaut que JavaDocs puisque le fichier index.html affiche une page vierge par défaut. De plus, les classes en ligne et les membres statiques peuvent nécessiter des indicateurs spéciaux pour être inclus dans la documentation. Si vous souhaitez générer un fichier PDF, vous devrez peut-être faire face à des soucis liés à votre distribution de Linux ne disposant pas de la commande pdflatex nécessaire (par exemple, Ubuntu / Mint si vous avez juste apt-get, installez-le et exécutez-le, vous obtiendrez peut-être un écran plein d’erreurs, même avec un programme simple. Par rapport à la facilité d’obtention automatique de javadoc lors de l’installation de l’API, l’installation de Doxygen peut être une expérience lamentable. Une fois que vous avez surmonté les obstacles, vous devriez être plus flexible pour traiter des projets impliquant plus que Java, cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top