▷ Doxygen 이란?
정해진 문법에 의해 쓰여진 C/C++/JAVA 등의 주석을 html/latex/pdf 형식으로 문서화 시켜주는 프로그램
▷ Doxygen 다운로드
▷ 기본 설정
1. Doxygen 실행화면
주의 : 프로젝트 경로에 한글명이 없어야 된다.
(예를 들어 C:/작업폴더/DoxyTest 로 경로가 주어질경우 Doxygen이 인식하지 못한다. )
3. Wizard로 기본적인 설정을 하고 Expert에서 세부적인 설정이 가능하다.
4. 설정한 Doxyfile 을 저장(Save)하고 Working directory 를 지정한 다음 Start 시키면 된다.
▷ Doxygen 주석
Doxygen은 파일, 함수, 데이터 구조를 기준으로 문서화를 한다. 코드 중간중간의 자잘한 주석은 문서화 시키지 않는다. 즉, msdn( http://msdn.microsoft.com )이나 JAVADOC(http://java.sun.com/j2se/1.5.0/docs/api/index.html ) 과 같은 형태의 문서화라고 할 수 있다.
int GlobalVal; ///< 전역 변수
/** \brief
문자열 바꾸기
\remarks
입력된 문자열에서 원하는 문자열을 찾아 바꾼다.
\return
마지막으로 찾은 문자열의 첫번째 주소값을 반환한다.
*/
char *
Replace(
char * pStr, ///< 입력 문자열
char * find, ///< 찾을 문자열
char * replace ///< 변경할 문자열
)
{
...
}
또한 메인페이지(MainPage)를 두어 프로그램의 전체 개요 등을 적어줄 수 있다.
함수나 데이터 구조의 경우 파일 단위가 아니라 특정 기능에 따라 분류해주고 싶을 경우 모듈 설정을 할 수 있다.
위와 같은 방식으로 그룹을 정의한 다음 해당 함수나 데이터 구조 코드의 위아래에 다음과 같은 코드를 삽입하면 된다.
\brief 나 \return 등이 보여주는 항목 이외에 다른 항목을 쓰고 싶다면 \par 명령어를 사용하면 된다.
/** \brief
현재 시간을 얻는다.
\remarks
ST_TIME 구조체 형식으로 현재 시간을 얻는다.
\par 요구사항
time.h 선언이 필요하다.
\return
성공시 0을 반환한다. 에러가 발생하면 -1을 반환한다.
\author
이상호
*/
void
GetLocalTime(
ST_TIME * today
)
{
...
}
자세한 적용방법은 샘플코드 를 참조하길 바라며 Doxygen Documentaion(HTML) 의 Special Commands 섹션에서 Doxygen의 모든 명령어를 확인할 수 있다.
샘플코드는 DoxyTest.c 소스 파일과 메인페이지와 그룹정의가 되어 있는 MainPage.dox 파일로 이루어져 있다.
▷ Doxygen 을 쓰게 되면 얻는 잇점
역시 가장 큰 장점은 소스 코드 작성과 문서화가 동시에 이루어 진다는 점이다.
또한 소스코드가 수정될 경우에도 작업량이 거의 없다.
꼭 빠른 문서화가 목적이 아니더라도 Doxygen 주석을 쓰는 습관을 들이는 것은 여러가지 장점이 있다.
문서화 작업을 하면서 스스로 만든 함수를 한번 더 확인하게 되고 자잘한 버그부터 구조상의 문제점까지 발견하게 되기도 한다.
댓글 없음:
댓글 쓰기