15.1. 주석
doxygen은 page라는 논리적인 단위와 file이라는 물리적인 단위로 소프트웨어를 문서화한다.
프로젝트 단위에서 문서화가 필요한 경우, 다음과 같이 doxygen을 사용한다:
태그 | 기술 |
@mainpage | Doxygen에서 @mainpage 태그는 문서의 메인 페이지를 정의하는 데 사용된다. 이 태그를 사용하여 프로젝트의 개요, 소개, 주요 기능, 사용법 등을 문서의 첫 페이지에 표시할 수 있다. 주로 프로젝트의 전체적인 설명과 중요한 정보를 제공하는 데 유용하다./** |
@page | Doxygen에서 @page 태그는 문서 내의 독립된 페이지를 정의하는 데 사용된다. 이는 특정 주제에 대한 상세한 설명이나 문서 내의 개별 섹션을 작성할 때 유용하다. @page 태그는 여러 섹션을 포함할 수 있으며, 문서 내에서 특정 주제를 다루는 데 적합하다./** |
@tableofcontents | Doxygen에서 @tableofcontents 태그는 문서 내에서 자동으로 목차를 생성하는 데 사용된다. 이를 통해 문서의 각 섹션과 하위 섹션으로 쉽게 이동할 수 있다. 목차는 일반적으로 메인 페이지나 큰 섹션의 시작 부분에 추가된다./** |
@subpage | Doxygen에서 @subpage 태그는 이미 정의된 페이지의 하위 페이지를 생성하는 데 사용된다. 이를 통해 문서의 계층 구조를 만들고, 특정 주제를 보다 세분화하여 설명할 수 있다. @subpage 태그는 상위 페이지의 일부로 간주되어, 관련 정보를 보다 체계적으로 정리하는 데 도움을 준다.// 상위 페이지 // 하위 페이지 /** |
@section | Doxygen에서 @section 태그는 문서 내에서 새로운 섹션을 생성하는 데 사용된다. 이를 통해 문서를 구조화하고, 특정 주제나 항목에 대한 설명을 체계적으로 정리할 수 있다. @section 태그는 섹션 제목과 섹션 내용을 포함하며, 섹션을 논리적으로 나눌 수 있다./** |
@subsection | Doxygen에서 @subsection 태그는 @section 태그 아래에 하위 섹션을 생성하는 데 사용된다. 이를 통해 문서를 더 세분화하고 체계적으로 구성할 수 있다. @subsection 태그는 상위 섹션을 논리적으로 나누어 더 자세한 정보를 제공하는 데 유용하다./** |
-, * | Doxygen에서 불릿 리스트를 생성하려면, 하이픈(-) 또는 별표(*)를 사용한다./** /** |
위에서,
- main project는 @mainpage를 사용한다.
- 그 외 프로젝트는 @page를 사용한다.
- @page는, 선택적으로, @section과 @subsection을 이용하여 논리적으로 구분한다.
- @page, @section, @subsection은 클래스, 함수 등을 포함한다.
파일 수준에서 문서화가 필요한 경우 다음과 같이 doxygen을 사용한다:
태그 | 기술 |
@file | Doxygen에서 @file 태그는 파일 전체에 대한 주석을 추가하는 데 사용된다. 주로 파일의 목적, 파일에 포함된 주요 클래스나 함수, 그리고 파일의 기능을 설명한다. 이를 통해 파일에 대한 개요와 중요한 정보를 문서화할 수 있다./** |
@brief | 아래 표의 @brief 참고 |
@detail | 아래 표의 @detail 참고 |
클래스, 함수, 변수 수준에서 문서화가 필요한 경우 다음과 같이 doxygen을 사용한다:
태그 | 기술 |
@brief | Doxygen에서 @brief 태그는 함수, 클래스, 변수 등의 간단한 설명을 제공하는 데 사용된다. 주로 한 줄 또는 두 줄 정도의 짧고 간결한 설명을 작성하여 해당 항목의 주요 목적이나 기능을 요약한다. @brief태그는 Doxygen이 생성하는 문서의 개요 섹션에 표시된다./** |
@detail | Doxygen에서 @details 태그는 함수, 클래스, 변수 등의 항목에 대해 더 자세한 설명을 제공하는 데 사용된다. 이 태그는 일반적으로 @brief 태그와 함께 사용되며, @brief 태그는 간단한 요약을 제공하는 반면 @details 태그는 더 심층적인 설명을 포함한다./** |
@param | Doxygen에서 @param 태그는 함수나 메서드의 매개변수를 문서화하는 데 사용된다. 이 태그를 사용하여 매개변수의 이름과 설명을 제공하여, 함수의 사용 방법을 보다 명확하게 이해할 수 있도록 한다./** Doxygen은 @param [in], @param [out], @param [in, out] 태그를 사용하여 함수의 매개변수에 대해 입력, 출력, 입력 및 출력을 명확하게 구분하여 설명할 수 있다. |
@return | Doxygen에서 @return 태그는 함수나 메서드가 반환하는 값을 문서화하는 데 사용된다. 이를 통해 함수의 반환값이 무엇이며 어떤 의미를 가지는지 명확히 설명할 수 있다. 주로 함수의 반환 타입이 무엇인지, 반환값이 어떤 상황에서 어떻게 사용되는지를 설명한다./** |
프로젝트, 파일, 클래스, 함수, 변수 등에서 문서화를 위해 사용할 수 있는 공통적인 doxygen 태그는 다음과 같다:
태그 | 기술 |
@bug | Doxygen에서 @bug 태그는 코드에 존재하는 알려진 버그를 문서화하는 데 사용된다. 이를 통해 개발자는 해당 버그에 대한 정보를 쉽게 공유하고 추적할 수 있으며, 나중에 문제를 해결할 때 참고할 수 있다./** |
@pre | Doxygen에서 \pre 태그는 함수나 메서드가 호출되기 전에 충족되어야 하는 전제 조건(preconditions)을 설명하는 데 사용된다. 이는 함수가 올바르게 동작하기 위해 필요로 하는 조건이나 가정을 명시한다./** |
@note | Doxygen에서 @note 태그는 특별한 주의가 필요한 정보나 중요한 참고 사항을 강조하는 데 사용된다. 이 태그를 사용하면 독자가 함수나 클래스의 중요한 부분에 주목할 수 있도록 돕는다./** |
@todo | Doxygen에서 @todo 태그는 코드 내에서 앞으로 해야 할 작업이나 개선사항을 문서화하는 데 사용된다. 이 태그를 통해 개발자나 팀원이 아직 완료되지 않은 작업을 쉽게 추적하고, 나중에 해당 작업을 처리할 수 있도록 도와준다./** |
@ref | Doxygen에서 @ref 태그는 문서 내의 특정 섹션이나 항목을 참조할 때 사용된다. 이를 통해 문서의 다른 부분으로 쉽게 이동할 수 있는 링크를 제공하여, 문서의 가독성과 탐색성을 높일 수 있다./** |
@see | Doxygen에서 @see 태그는 현재 문서화된 항목과 관련된 다른 문서나 항목을 참조할 때 사용된다. 이는 독자가 추가적인 정보를 얻거나 관련된 부분을 쉽게 탐색할 수 있도록 돕는다. @see 태그는 주로 함수, 클래스, 변수 등과 연결된 유용한 정보나 관련 문서를 연결하는 데 사용된다./** |
@warning | Doxygen에서 @warning 태그는 코드의 사용 시 주의해야 할 중요한 경고 사항을 문서화하는 데 사용된다. 이 태그를 통해 특정 함수나 메서드, 클래스 등을 사용할 때 발생할 수 있는 위험이나 주의사항을 강조할 수 있다. 이를 통해 개발자는 코드 사용 시 주의해야 할 점을 명확히 이해할 수 있다./** |