문제

Doxygen을 사용하여 사용자 정의 태그를 만들 수있는 방법이 있는지 알아 내려고합니다. 별칭 구성 파일 옵션을 찾았지만 필요한 작업을 정확히 수행하지는 않습니다. 기본적으로 내 코드에서 나는 다음과 같은 것을 쓸 수 있기를 원합니다.

/// \req Requirement #322 - blah blah

그런 다음 Doxygen이 목록을 작성하도록하십시오. \bug 그리고 \todo 이 사용자 지정 태그가있는 줄에 대한 명령. Doxygen으로 가능합니까?

도움이 되었습니까?

해결책

일반화 \bug 그리고 \todo ~이다 \xrefitem.

내가 제안한 해결책은 다음과 같습니다.

  • DoxyFile에서 :

    ALIASES += "req=\xrefitem req \"Requirement\" \"Requirements\" "
    
  • 문서화 된 코드 :

    /// \req #42 - The system shall work in any situation
    

다른 팁

감사합니다 Mouviciel! 나는 당신의 솔루션을 채택하고 나의 목적을 위해 그것을 확장했습니다.

아래 텍스트는 내 doxyfile로 들어갑니다.

ALIASES += req{1}="\ref SRTX_\1 \"SRTX-\1\" "
ALIASES += satisfy{1}="\xrefitem satisfy \"Satisfies requirement\" \"Requirement Implementation\" \1"
ALIASES += verify{1}="\xrefitem verify \"Verifies requirement\" \"Requirement Verification\" \1"

여기서 SRTX는 내 프로젝트의 이름이며 요구 사항에 대한 접두사로 사용됩니다.

그런 다음 요구 사항 ID와 요구 사항 관리 도구의 요구 사항에 대한 URL 간의 링크를 제공하는 요구 사항이라는 파일을 만듭니다 (내 경우 문제 추적기).

/**
@page Requirements

@section Build1

@anchor SRTX_1113
<a href="https://foo.bar.com/mantis/view.php?id=1113">SRTX-1113</a>

@anchor SRTX_1114
<a href="https://foo.bar.com/mantis/view.php?id=1114">SRTX-1114</a>

*/

외부 소스에 링크 할 필요가없는 경우 요구 사항의 텍스트를 앵커 태그에 넣을 수도 있습니다.

내 코드에는 다음과 같습니다.

/**
 * This is the basic executive that schedules processes.
 * @satisfy{@req{1114}}
 */
class Scheduler: public Process
{
    ...
}

그리고 내 테스트에서 나는 다음을 입었다.

/**
 * Provide a number of tests for process scheduling.
 * @verify{@req{1114}}
 */
class Scheduler_ut : public CppUnit::TestFixture
{
    ...
}

요구 사항, 요구 사항 구현 및 요구 사항 확인에 대한 관련 페이지가 제공됩니다. 또한 만족스러운 요구 사항을 제공하고 클래스 설명 (또는 태그를 넣을 때마다 함수)에서 요구 사항 섹션을 검증합니다.

위의 두 가지 답변을 결합합니다, 당신은 교차 참조 테이블을 구축하는 단일 청정 요구 사항 태그를 가질 수 있으며, 문서의 요구 사항 repo에 대한 직접 링크를 제공 할 수 있습니다.

Doxygen 구성 파일 :

별칭 = "requirement{1}=@xrefitem requirement \"Requirements\" \"Requirements Traceability\" <a href=\"http://your.requirementtool.com/browse/\1\">\1</a>"

소스 코드:

@requirement{REQ-123} 이 요구 사항 항목의 간단한 텍스트 요약

이것은 문서에서 다음과 같이 렌더링됩니다.

요구 사항 :

  • REQ-123 이 요구 사항 항목의 간단한 텍스트 요약
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top