[Utility] Doxygen을 이용한 프로젝트 및 개발 코드 관리[Utility] Doxygen을 이용한 프로젝트 및 개발 코드 관리

Posted at 2020. 1. 3. 17:07 | Posted in Developer Tool



참고 : https://www.slideshare.net/arload/doxygen-33932243




■ 독시젠(Doxygen)이란?





· 독시젠은 소프트웨어 레퍼런스 문서 생성기 이다.


· 독시젠 주석 문법을 사용함으로서 설명서 자체가 코드로 되어 있기에 문서와 코드를 상호 참조 할 수 있다.




처음 코딩을 시작할 때붜 독시젠을 사용함으로서 나중을 위한 주석 작성을 하게 되며,


이후 간단한 작업을 거쳐 손쉽게 레퍼런스 문서를 획득할 수 있다.








■ 윈도우즈(Windows)에서 독시젠 설치 하기




제일먼저 http://www.doxygen.nl/download.html 접속하여 윈도우용 독시젠을 다운로드 받는다.





Downloads 페이지에서 doxygen-버전NO-seup.exe 파일을 다운로드 받는다.








■ 독시젠 주석 작성법




#01. 메인 페이지 주석 예시


    /**

     * @mainpage       메인페이지 제목

     * @brief              간략한 설명

     * @details           자세한 설명

    */





#02. 파일 페이지 주석 예시


    /**

     * @file                파일 클래스 이름

     * @brief              간략한 설명

     * @details           자세한 설명

     */





#03. 패키지 주석 예시


    /**

     * @namespace       org.nhnnext

     * @brief                패키지 간략 설명

     * @details             패지키 자세히 설명

     */

    package org.nhnnext;





#04. 클래스 주석 예시


    /**

     * @brief           클래스 간략 설명

     * @details         클래스 자세히 설명

     * @author         이름, 이메일

     * @date            YYYY-MM-DD

     * @version        0.0.1

     */

     class 클래스_이름 extends 자식_클래스_이름 {

         /* do nothing */

     }





#05. 메서드 주석 예시


    /**

     * @brief            메서드 간략 설명

     * @details          메서드 자세히 설명

     * @param          args 콘솔 파라미터

     * @returnCnt      프로그램 상태

     *

     * @bug              메모리 누수 있음

     * @todo             버그 해결 해야함

     * @Exception      StringIndexOutOfRangeException

     *

     * @see               NewClass

     * @see               http://magic.wickedmiso.com/

     */

    public static int main(String[] args)

    {

        ...

        retrun( status );

    }





#06. 메타 데이터 주석 예시


    /**

     * @mainpage    프로그램의 전체 개요 등을 설명한다.

     * @section        프로그램의 개요 별로 설명한다.

     * @versions      프로그램 버전을 설명한다.

     * @breif           간략한 설명을 쓸 때 사용한다.

     * @details        자세한 설명을 쓸 때 사용한다.

     * @files           파일 이름을 구별할 때 사용한다.

     * @author        작성자 이름을 나타낼 때 사용한다.

     * @date           작성날짜를 나타낼 때 사용한다.

     * @param        함수 파라미터를 설명한다.

     * @return         함수 리턴값을 설명한다.

     * @exeception  예외 처리를 설명한다.

     * @throws        throw하는 객체나 변수 등을 설명한다.

     * @see            참고할 함수나 페이지를 지정한다.

     * @todo          해야할 일에 대해서 따로 리스트를 생성한다.

     * @bug           버그에 대해서 따 리스트를 생성한다.

     * @code          중요코드를 설명할때 시작 지점을 가리킨다.

     * @endcode     중요코드를 설명할때 종료 지점을 가리킨다.

     */











■ 독시젠 설정 및 사용방법




#01. Wizard > Project


 ① 프로젝트 루트 폴더를 지정한다.

 ② 프로젝트 이름과 버전을 지정한다.

 ③ 소스 파일이 있는 폴더를 지정한다.

 ④ 모든 하위 폴더를 재귀적으로 스캔한다.

 ⑤ 독시젠 문서를 생성할 폴더를 지정한다.




#02. Wizard > Mode


 ① 각 함수마다 사용한 함수로의 링크를 생성한다.

 ② 진행한 프로젝트의 개발 언어를 선택한다.




#03. Wizard > Output


 ① 문서 왼쪽에 탐색 트리를 보여준다.




#04. Wizard > Diagrams


 ① 소스간의 관계를 Graphviz로 표현해 준다.




#05. Expert > Project


 ① 출력 결과에 쓰여질 언어를 한국어-영어 같이 사용으로 선택한다.

 ② 항상 상세 정보를 보여준다.

 ③ 소멸자와 상속자를 제외한 상속된 모든 멤버를 보여준다.




#06. Expert > Build


 ① 소스코드의 모든 요소가 문서화 대상이 된다.

 ② 클래스 내의 모든 private 멤버가 문서화 대상이 된다.

 ③ 클래스 내의 모든 static 멤버가 문서화 대상이 된다.




#07. Expert > Source Browser


 ① 함수 설명시 함수 코드를 보여준다.




#08. Expert > Dot


 ① 클래스 상속구조 다이어그램을 그린다.

 ② 다이어 그램을 UML 형식으로 그린다.




#09. Expert > Dot


 ① dot_path의 지정 경로에 Graphviz 이미지가 생성된다.




#10. Run


 ① 독시젠을 가동시켜 문서를 생성한다.

 ② Show Html output 버튼이 활성화되면 독시젠 문서 생성이 완료되었다.





#11. Show Html Output



모든 작업이 완료되면 위와같이.


HTML 형태로 진행한 프로젝트의 문서화가 이루어 진다.





Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기