Pergunta

Eu só percebi a partir de um artigo na CACM que Doxygen funciona com Java (e vários outros idiomas) também. Mas Java já tem a ferramenta Javadoc. Alguém pode explicar quais são os prós e contras de cada abordagem? elas são mutuamente exclusivas? Existe um plugin Maven para Doxygen?

Foi útil?

Solução

Doxygen tem uma série de características que JavaDoc não oferece, por exemplo, os diagramas de classe para as hierarquias e do contexto de cooperação, mais páginas de resumo, navegação de código-fonte opcional (reticulado com a documentação), suporte tag adicional, como @todo em uma página separada e pode gerar saída em TeX e PDF .it também permite que uma grande quantidade de personalização visual.

Desde Doxygen suporta as tags JavaDoc padrão que você pode executar Doxygen em qualquer código-fonte com comentários JavaDoc sobre ele. Muitas vezes pode até fazer sentido para rodar em código-fonte sem JavaDoc desde os diagramas e navegação de código fonte pode ajudar código de compreensão, mesmo sem a documentação. E uma vez que a ferramenta JavaDoc ignora marcas desconhecidas você ainda pode usar tags adicionais Doxygen sem quebrar geração JavaDoc.

Dito tudo isso eu devo admitir que eu não usei Doxygen por um longo tempo. I tendem a depender fortemente no meu IDE nos dias de hoje para fornecer a mesma visualização e eu normalmente não lê JavaDoc como páginas HTML, mas importar os arquivos de origem no meu IDE para que ele possa gerar flyouts JavaDoc e eu posso saltar para as definições. Isso é ainda mais poderoso do que o que Doxygen tem para oferecer. Se você quer ter a documentação fora do IDE e são felizes para executar ferramentas não-Java, em seguida, Doxygen vale a pena tentar uma vez que não requer qualquer alteração ao seu código Java.

Outras dicas

Eu só usar Doxygen com Java, se você é novo para Java e você já usou Doxygen antes, reduzindo a curva de aprendizado que você experimentar com javadoc. Se você não tiver usado Doxygen antes, eu ia ficar com javadoc, desde que foi projetado especificamente com Java em mente. Se você não sabe qualquer um, e você trabalhar em C ++ (ou outros idiomas suportados), tanto quanto você faz Java, Doxygen é uma boa escolha, como você vai ser capaz de usá-lo para ambos os idiomas.

Ambas as ferramentas são fáceis de usar, com um conjunto de características semelhantes. Ambos têm plugins (ou são pré-integrados) para NetBeans e Eclipse tornando-se ainda mais rápido para gerar doc. Há muita sobreposição no estilo de comentário usado por cada um, mas eles não são exatamente o mesmo, por isso seria difícil misturá-los (você tem que conhecer os detalhes < em> ambos , deixando de fora todos os recursos que são específicos para um ou outro). Eu nunca usei, mas não parece ser um Maven plugin para Doxygen .

Eu gosto do fato de que com Doxygen, você pode obter diagramas de classe exibida na mesma página como a documentação. Além disso, eu gosto do fato de que ele se vincula diretamente ao código-fonte, se necessário. Não tenho conhecimento se javadoc tem essas características embora.

Uma das grandes vantagens de JavaDocs é que eles só trabalho. Tudo necessário para construir e visualizá-los está incluído no JDK que você já precisa ter instalado para compilar seus programas.

Doxygen, por outro lado, pode ser uma dor de configurar e começar a trabalhar corretamente. mas se ele está configurado corretamente ele deve ser capaz de gerar PDFs, RTFs e docbooks, bem como HTML. O HTML não é tão bem organizado por padrão como JavaDocs desde o index.html abre uma página em branco por padrão. Além disso, as classes em linha e membros estáticos pode precisar bandeiras especiais a serem incluídos na documentação, e se você deseja gerar um PDF você pode ter que lidar com dificuldades de sua distribuição de Linux não ter o comando necessário pdflatex (por exemplo, Ubuntu / Mint tiveram problemas recentemente) por isso, se você só apt-get install-lo e executá-lo pode obter uma tela cheia de erros, mesmo com um programa simples. Em comparação com a facilidade de obtenção de javadoc automaticamente quando você instalar o API, a configuração Doxygen pode ser uma experiência miserável. Depois de superar os obstáculos, ele deve ser mais flexível ao lidar com projetos que envolvem mais do que apenas java, no entanto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top