2012-07-18 2 views
2

나는 XML comments을 좋아합니다. 수십 또는 방법의 수백에 의해XML 메모를 별도의 파일로 이동

[/// summary ...] 
public void CreateUser(string username, string password)[...] 

곱하기이, 결과는 코드가 가려 어렵다 붕괴 : 모든 것이 붕괴와 함께하지만, 매 2 개 라인 등이 보인다. 이러한 주석은 별도의 XML 파일으로 옮길 수 있으며 여전히 Visual Studio에서 연관을 인식하여 여전히 Intellisense에 표시되도록 할 수 있습니까? 그렇다면 어떻게 그 연관성을 만들 수 있습니까? 또한 SandCastle을 사용하여 이러한 주석을 기반으로 문서를 생성하므로 연관성은 SandCastle에서도 인정해야합니다.

답변

5

<include file='...' path='...'> 태그를 사용하여 외부 댓글을 참조 할 수 있습니다. http://msdn.microsoft.com/en-us/library/9h8dy30z.aspx을 참조하십시오.

기존 소스 파일의 주석을 외부 주석 파일로 옮기는 도구에 대해 모르겠습니다.

+0

굉장, 고마워. 이것은 유망 해 보입니다. – CptSupermrkt

0

짧은 대답 : AFAIK 번호

XML 주석이 타사에 의해 사용됩니다 공개적으로 노출 된 메소드에 유용합니다. 애플리케이션에 추가하는 거의 모든 공용 직면 기능은 계약 인터페이스를 통해 수행되므로 (테스트 기능 지원) 인터페이스 선언에 대한 주석을 달고 <을 사용합니다. cref = "..."/ > 위의 내용을 참조하십시오. 이행.

인터페이스 :

///<summary> 
/// Provides so-in-so fetching functionality on the provided criteria. 
/// Examples, parameters, etc. 
///</summary> 
IEnumarable<Something> FetchSomethingsBaseOnCriteria(params Criteria[] criteria); 

구현

대부분의 문서 발전기가 < 의견이/>을 볼 해결할 수있는 현명함이 있다면 내가 샌드캐슬이 < Inheritdoc/> 태그를 가지고 있다고 생각
///<summary> 
/// <see cref="ISomethingDoer.FetchSomethingsBasedOnCriteria"/> 
///</summary> 
IEnumarable<Something> ISomethingDoer.FetchSomethingsBaseOnCriteria(params Criteria[] criteria) 
{ 
    // Get fetching... 
} 

확실하지하는 기본 인터페이스의 주석을 사용할 수 있습니다. http://www.ewoodruff.us/shfbdocs/html/79897974-ffc9-4b84-91a5-e50c66a0221d.htm

다형성 인터페이스를 사용하는 곳에서 작동하지 않을 수 있습니다. (나는 중개자 인터페이스에서 선언문/주석을 오버라이드 할 수 있다고 생각하지 않는다.)

내부 용 코드와 개인용 코드를 위해 나는 종종 여분의 오버 헤드가 명백하다는 것을 설명하기 때문에 주석으로 고민하지 않는다. 너무 쉽게 동기화가 불가능 해져 사용자가 오해의 소지가 있거나 무시해야합니다. ("주석 거짓말."- 클린 코드) BDD 스타일의 단위 테스트를 사용하여 내가 수행 할 코드와 자체를 설명하는 설명 코드를 설명합니다.

관련 문제