그래서 우리는 이와 같은 인터페이스를 가지고 있습니다
/// <summary>
/// Interface for classes capable of creating foos
/// </summary>
public interface ICreatesFoo
{
/// <summary>
/// Creates foos
/// </summary>
void Create(Foo foo);
/// <summary>
/// Does Bar stuff
/// </summary>
void Bar();
}
최근에 우리는 위와 같이 많은 XML 문서가 생성되고 보장되는 문서 스토리를 재생했습니다. 이로 인해 문서가 많이 중복되었습니다. 구현 예 :
/// <summary>
/// A Foo Creator which is fast
/// </summary>
public class FastFooCreator : ICreatesFoo
{
/// <summary>
/// Creates foos
/// </summary>
public void Create(Foo foo)
{
//insert code here
}
/// <summary>
/// Does Bar stuff
/// </summary>
public void Bar()
{
//code here
}
}
보시다시피 메소드 문서는 인터페이스에서 직접 추출한 것입니다.
가장 큰 질문은 이것이 나쁜 것입니까? 내 직감은 복제 때문에 예라고 말하지만 다시는 아닐까요?
또한, 우리는 override
기능과 virtual
기능을 가진 다른 유사한 문서 복제가 있습니다.
이것이 나쁘거나 피해야합니까? 전혀 가치가 있습니까?
Resharper를 사용하는 경우 구현에서만 주석을 변경 한 다음 "Pull members up"을 사용하여 인터페이스를 업데이트 할 수 있습니다.
—
vortexwolf
나는 이것을하지만 어쩌면 외부 도구를 사용하는 것이 좋지 않고 인터페이스의 헤더 파일로 이동하여 특정 유형의 작업으로 수행 할 수있는 작업을 보는 것을 선호합니다 (이것은 분리 된 C 및 C ++ 용입니다. 소스 파일의 헤더 개념). 약간 반복적이지만 메소드를 재정의하는 구체적인 클래스와 관련된 특정 세부 정보를 추가 할 수있는 기회를 찾으려고합니다. 예를 들어 좋아합니다. 그렇지 않으면 중요한 것을 생략 한 것처럼 OCD가 있습니다. 헤더 파일의 모든 함수에 대한 주석을 참조하십시오.