C#

  • 자체 내장 기능으로 XML 주석 문서화 기능을 제공

C++

  • 자체 기능으로 제공 x
  • VS에서 XML 주석 IntelliSense 는 제공
  • Doxygen 주석 XML 문서화 를 사용한 문서화 추천

Doxygen 태그

태그 설명
@brief 간단한 설명을 작성합니다.
@details 보다 자세한 설명을 작성할 때 사용합니다.
@param 함수 매개변수를 설명합니다.
@return 함수의 반환값에 대해 설명합니다.
@exception 함수가 발생시킬 수 있는 예외에 대해 설명합니다.
@throws @exception과 동일. 예외를 설명합니다.
@see 관련된 항목을 참조하도록 링크를 제공합니다.
@note 추가적으로 주의해야 할 점이나 정보를 강조합니다.
@warning 사용자에게 중요한 경고를 제공합니다.
@todo 해야 할 작업이나 보완점을 표시합니다.
@file 파일에 대한 정보를 설명합니다.
@author 작성자를 명시합니다.
@version 파일의 버전을 명시합니다.
@date 작성 날짜를 명시합니다.
@deprecated 더 이상 사용되지 않는 함수나 기능임을 표시합니다.
@code 코드 예제를 작성할 때 사용합니다.
@endcode 코드 블록의 끝을 나타냅니다.
@example 예제 파일에 대한 정보를 작성합니다.
```cpp
/**
* @file MyProgram.cpp
* @brief 이 파일은 간단한 프로그램의 메인 기능을 제공합니다.
* @author John Doe
* @date 2025-03-05
* @version 1.0
*/

/**

  • @brief 두 숫자의 합을 계산합니다.
  • @param a 첫 번째 숫자
  • @param b 두 번째 숫자
  • @return 두 숫자의 합
  • @note 입력 값은 정수여야 합니다.
  • @warning 값이 너무 크면 오버플로우가 발생할 수 있습니다.
  • /
    int Add(int a, int b) {
    return a + b;
    }
    
    

XML 주석 태그

태그 설명
<summary> 클래스, 메서드, 속성, 필드 등에 대한 간단한 요약을 제공합니다.
<param> 메서드의 매개변수를 설명합니다.
<returns> 함수나 메서드의 반환 값을 설명합니다.
<remarks> 추가적인 참고 정보나 부가 설명을 제공합니다.
<example> 코드 예제를 제공합니다. 예제는 <code> 태그와 함께 사용됩니다.
<exception> 메서드가 발생시킬 수 있는 예외를 설명합니다.
<see> 다른 클래스, 메서드, 속성 등을 참조하도록 링크를 제공합니다.
<seealso> 관련 항목에 대한 참조를 제공합니다.
<value> 속성의 값을 설명합니다.
<inheritdoc> 상위 클래스나 인터페이스로부터 주석을 상속받습니다.
<typeparam> 제네릭 메서드 또는 클래스의 형식 매개변수를 설명합니다.
```cs
///
/// 주어진 두 숫자의 합을 계산합니다.
///
/// 첫 번째 숫자
/// 두 번째 숫자
/// 두 숫자의 합
///
/// 입력 값이 너무 큰 경우 오버플로우가 발생할 수 있습니다.
///
///
///
/// int result = Add(10, 20);
/// Console.WriteLine(result); // 출력: 30
///
///
/// 값이 너무 커서 오버플로우가 발생할 때 발생합니다.
public int Add(int a, int b)
{
return checked(a + b);
}
```

'프레임워크 > VisualStudio' 카테고리의 다른 글

MSVC_CL 명령  (0) 2025.03.27
__stdcall  (0) 2025.03.27
SAL 주석(Static Analysis Language)  (0) 2025.03.27
단축키  (0) 2025.03.27
MSVC 빌드 관련  (0) 2025.03.27

+ Recent posts

let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });