그래서 우리는 이와 같은 인터페이스를 가지고 있습니다
/// <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가 있습니다. 헤더 파일의 모든 함수에 대한 주석을 참조하십시오.