<< Doxygen Quick Guide >>
*Doxygen 기본 스타일
/** */
*주석안에 아이템들
@breif ==> 설명을 쓴다. 여러줄을 쓸때에는 @breif를 쓰고 한줄 띄운다움 계속해서
쓰면된다.
@file ==> 파일 이름을 구별할때.
@return ==> 함수의 리턴값 나타낼때.
@author ==> 작성자 이름을 나타낼때
@date ==> 작성날짜를 나타낼때.
@param ==> 함수 파라메터를 나타낼때
@see ==> 참고할 함수나 페이지를 지정한다.
@todo
@bug
@code ==>중요 코드를 설명할때 시작 지점 가리킨다.
@endcode ==> 중요코드 설명할때 종료 지점 가리킨다.
@exeception
@mainpage
@section
====클래스 처리===
@class ==> 클래스명 나타낼때.
*클래스 멤버에대한 처리
/// 이렇게 표시한다.(단 멤버 상단에 표시할것!!)
/**< 내용 */ 이렇게도 표시한다. (멤버 옆에)
///< 이렇게도 표시한다.(멤버옆에)
====enum 타입처리====
*상단에 @brief로 무엇을 하는것인지 나타내고
각각의 멤버에 대해서는.
/*!< 내용 */ 이렇게 표시한다. (멤버 옆에)
/**< 내용 */ 이렇게도 표시한다. (멤버 옆에)
///< 이렇게도 표시한다.(멤버옆에)
===중요 코드도 주석을 단다.===
@code 로 시작해서
@endcode 로 끝낸다.
예제)
/**
* @brief 예제코드
*
* 추가설명
* @code
*........
* @endcode
*/
아래는 Doxygen 형식의 주석이 적용된 예제 소스이다.
-
/**
-
@file PropertiesUtil.h
-
@brief CPropertiesUtil 클래스 선언 헤더
-
-
*/
-
-
#if !defined(AFX_PROPERTIESUTIL_H__5B7DF824_3F5A_47F6_9AD3_A287733C8379__INCLUDED_)
-
#define AFX_PROPERTIESUTIL_H__5B7DF824_3F5A_47F6_9AD3_A287733C8379__INCLUDED_
-
-
#if _MSC_VER > 1000
-
#pragma once
-
#endif // _MSC_VER > 1000
-
-
#include <afxtempl.h>"stdafx.h"
-
-
#define PROPERTY_LOAD_SUCCESS 1 /**< 파일 파싱까지 성공함 */
-
#define PROPERTY_LOAD_FILE_FAILED 0 /**< 파일 로드에 실패함 */
-
#define PROPERTY_ERROR_LINE_MUL -1 /**< 여기에 * n(에러 행 번호) 해서 리턴하게 됨 */
-
-
/**
-
@brief 설정 파일을 읽어서 보관하는 클래스
-
-
설정 파일의 구조는 다음과 같다.
-
- 첫 글자가 # 이면 그 라인은 주석
-
- 빈 라인은 대상이 되지 않음
-
- '속성 = 값' 으로 이루어진다.
-
*/
-
class AFX_EXT_CLASS CPropertiesUtil
-
{
-
public:
-
/**
-
* @brief 생성자\n
-
* 아무 일도 하지 않는다.
-
*
-
*/
-
CPropertiesUtil();
-
-
/**
-
* @brief 소멸자\n
-
* 아무 일도 하지 않는다.
-
*
-
*/
-
virtual ~CPropertiesUtil();
-
-
/**
-
@brief 설정 파일을 읽어들여서 파싱하고 각 설정들을 저장
-
-
@param szFileName 읽어들일 설정 파일 이름
-
@return 에러 유무
-
@see PROPERTY_ERROR_LINE_MUL
-
@see PROPERTY_LOAD_FILE_FAILED
-
@see PROPERTY_LOAD_SUCCESS
-
*/
-
int LoadFile(const char * szFileName);
-
-
/**
-
@brief 속성에 해당하는 값을 맵에서 찾아서 전달인자에 설정
-
-
@param szKey 속성 이름
-
@param csValue 속성에 해당하는 값
-
@return 속성의 존재 유무
-
*/
-
BOOL GetMatchedValue(const char * szKey, CString & csValue);
-
-
private:
-
CMapStringToString m_mapKeyToVal; /**< 키와 값을 매핑시킨 객체 */
-
-
};
-
-
#endif // !defined(AFX_PROPERTIESUTIL_H__5B7DF824_3F5A_47F6_9AD3_A287733C8379__INCLUDED_)
Codes by Heart.
JavaDoc 유저라면 보기만 해도 어떻게 하는 건지 짐작이 올 것이고, 아니어도 감이 올 거라 생각한다.
많은 주석 스타일 중에 JavaDoc 스타일을 선택하였고( /** ~ */ ) 속성도 필요한 것만 사용하였다.
속성들은 앞에 @를 붙이고 있다. 물론 다른 스타일은 !도 있는데, 여기서는 그냥 @만 생각하자.
file : 일반적으로 파일 명을 기술
brief : 함수에 대해 간략하게 기술
주의사항 - 상세 기술과 구분하기 위해 한 라인을 비워야 한다.
param : 파라미터에 대해 기술
see : 참조할 함수나 클래스, define값, struct 등을 기술
return : 리턴값에 대해 기술
속성 없이 쓰여진 텍스트는 상세 기술이라고 생각하면 된다.
Doxygen과 한글 문제
나중에 doxygen 쓰실 분은 한글 문제로 고민하게 될 텐데 다음 사항만 유의하면 됩니다. VC++ 사용자에게만 해당하는 내용입니다.
INPUT_ENCODING = CP949
OUTPUT_LANGUAGE = Korean-en
이렇게 해주시구요. 혹시 프로젝트에 VC++과 C# 등이 혼재되어 있다면, FILE_PATTERNS 에서 *.cs를 빼줘야 합니다. C# 프로젝트는 별도의 doxygen 설정 파일을 만들어서 따로 관리하시면 됩니다.
Links
- http://www.storeroom.info/cdm/
- http://minjang.egloos.com/1339645
- http://minjang.egloos.com/468834
- http://www.rememberthemilk.com/
var authorId = "D3476731-803A-46A7-B97D-BF3BAC23306A"; var pageOrientation = "0"; var topMargin = "0.5"; var bottomMargin = "0.5"; var leftMargin = "0.5"; var rightMargin = "0.5";
History
Last edited on 08/21/2007 09:56 by gfc3
Comments (0)