문제

CACM의 기사에서 Doxygen이 Java (및 기타 여러 언어)와 함께 작동한다는 것을 깨달았습니다. 그러나 Java는 이미 Javadoc 도구를 가지고 있습니다. 누군가가 어느 접근 방식의 장단점이 무엇인지 설명 할 수 있습니까? 그들은 상호 배타적입니까? Doxygen 용 Maven 플러그인이 있습니까?

도움이 되었습니까?

해결책

Doxygen은 Javadoc이 제공하지 않는 여러 가지 기능을 가지고 있습니다 (예 : 계층 및 협력 컨텍스트, 더 많은 요약 페이지, 옵션 소스 코드 브라우징), @Todo와 같은 추가 태그 지원 별도의 페이지와 TEX 및 PDF 형식으로 출력을 생성 할 수 있습니다. 또한 많은 시각적 사용자 정의가 가능합니다.

Doxygen은 표준 javadoc 태그를 지원하기 때문에 Javadoc 댓글이있는 소스 코드에서 Doxygen을 실행할 수 있습니다. 다이어그램과 소스 코드 브라우징은 문서가 없어도 코드를 이해하는 데 도움이 될 수 있기 때문에 Javadoc없이 소스 코드에서 실행하는 것이 종종 합리적 일 수 있습니다. Javadoc 도구는 알 수없는 태그를 무시하기 때문에 Javadoc 생성을 깨지 않고 추가 Doxygen 태그를 사용할 수도 있습니다.

이 모든 것을 말하면서 나는 오랫동안 Doxygen을 사용하지 않았다는 것을 인정해야합니다. 나는 요즘 동일한 시각화를 제공하기 위해 IDE에 크게 의존하는 경향이 있으며 일반적으로 javadoc을 HTML 페이지로 읽지 않고 소스 파일을 내 IDE로 가져 와서 Javadoc 플라이 아웃을 생성 할 수 있고 정의로 이동할 수 있습니다. 그것은 Doxygen이 제공하는 것보다 훨씬 강력합니다. IDE 외부에서 문서를 사용하려면 자바 툴링 이외의 툴링을 실행하는 것이 기쁘다면 Doxygen은 Java 코드를 변경할 필요가 없기 때문에 시도해 볼 가치가 있습니다.

다른 팁

Java를 처음 접했고 이전에 Doxygen을 사용한 경우 Java와 함께 Doxygen을 사용한 경우 Java와 함께 Doxygen을 사용하여 Java와 함께 사용하는 경우에만 사용합니다. 전에 Doxygen을 사용하지 않았다면 Javadoc을 고수했습니다. Java를 염두에두고 특별히 설계되었습니다. 하나를 알지 못하고 Java만큼 C ++ (또는 기타 지원되는 언어)로 일한다면 Doxygen은 두 언어 모두에 사용할 수 있으므로 좋은 선택입니다.

두 도구 모두 유사한 기능 세트와 함께 사용하기 쉽습니다. 둘 다 NetBeans 및 Eclipse에 대한 플러그인 (또는 사전 제작)이있어 DOC를 생성하기에 더 빠르게 더 빠릅니다. 각각에 사용 된 주석 스타일에는 많은 겹치는 것이 있지만 바로 그거죠 동일하게, 그것들을 섞는 것은 어려울 것입니다 (세부 사항을 알아야합니다. 둘 다, 하나 또는 다른 기능에 특화된 기능을 남기십시오). 나는 그것을 사용한 적이 없지만 Doxygen 용 Maven 플러그인.

나는 doxygen을 사용하면 문서와 동일한 페이지에 클래스 다이어그램을 표시 할 수 있다는 사실이 마음에 듭니다. 또한 필요한 경우 소스 코드에 직접 연결한다는 사실이 마음에 듭니다. Javadoc에 이러한 기능이 있는지 알 수 없습니다.

Javadocs의 큰 장점 중 하나는 그들이 일한다는 것입니다. 이를 구축하고보기에 필요한 모든 것은 프로그램을 컴파일하기 위해 이미 설치 해야하는 JDK에 포함되어 있습니다.

반면에 Doxygen은 설정하고 올바르게 일하는 데 고통 스러울 수 있습니다. 그러나 올바르게 설정되면 HTML뿐만 아니라 PDF, RTF 및 문서 북을 생성 할 수 있어야합니다. index.html이 기본적으로 빈 페이지를 가져 오기 때문에 HTML은 기본적으로 Javadocs로 구성되지 않습니다. 또한 인라인 클래스와 정적 멤버는 문서에 특별 플래그가 포함되어야 할 수도 있으며 PDF를 생성하려면 필요한 PDFlatex 명령이없는 Linux 배포의 번거 로움을 처리해야 할 수도 있습니다 (예 : Ubuntu/Mint 최근에 문제) 따라서 APT-GET를 설치하고 실행하는 경우 간단한 프로그램으로도 오류로 가득 찬 화면을 얻을 수 있습니다. API를 설치할 때 Javadoc을 자동으로 쉽게 얻는 데 비해 Doxygen 설정은 비참한 경험이 될 수 있습니다. 허들을 극복하면 Java 이상의 프로젝트를 다루는 데 더 유연해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top