다음을 통해 공유


형식 멤버 이름

비고

이 콘텐츠는 프레임워크 디자인 지침: 재사용 가능한 .NET 라이브러리에 대한 규칙, 관용구 및 패턴, 2판에서 Pearson Education, Inc.의 권한으로 다시 인쇄됩니다. 이 버전은 2008년에 출판되었으며, 이후 세 번째 에디션에서 완전히 수정되었습니다. 이 페이지의 일부 정보는 오래된 것일 수 있습니다.

형식은 메서드, 속성, 이벤트, 생성자 및 필드와 같은 멤버로 구성됩니다. 다음 섹션에서는 형식 멤버 이름 지정에 대한 지침을 설명합니다.

메서드 이름

메서드는 작업을 수행하는 수단이므로 디자인 지침에 따라 메서드 이름은 동사 또는 동사 구문이어야 합니다. 이 지침은 명사 또는 형용사 구문으로 된 속성 및 형식 이름과 메서드 이름을 서로 구분하는 데 도움이 됩니다.

✔️ DO는 동사 또는 동사 구문인 메서드 이름을 지정합니다.

public class String {
    public int CompareTo(...);
    public string[] Split(...);
    public string Trim();
}

속성 이름

다른 멤버와 달리 속성에는 명사 구 또는 형용사 이름이 지정되어야 합니다. 속성이 데이터를 참조하고 속성 이름이 이를 반영하기 때문입니다. PascalCasing은 항상 속성 이름에 사용됩니다.

✔️ 명사, 명사 구 또는 형용사를 사용하여 속성 이름을 지정합니다.

❌ 다음 예제와 같이 "Get" 메서드의 이름과 일치하는 속성이 없습니다.

public string TextWriter { get {...} set {...} } public string GetTextWriter(int value) { ... }

이 패턴은 일반적으로 속성이 실제로 메서드여야 임을 나타냅니다.

✔️ "List" 또는 "Collection" 뒤에 단수 구를 사용하는 대신 컬렉션의 항목을 설명하는 복수 구를 사용하여 이름 컬렉션 속성을 지정합니다.

✔️ Boolean 속성을 긍정적 문구(CanSeek 대신 CantSeek)로 명명하세요. 필요에 따라 부울 속성 앞에 "Is", "Can" 또는 "Has"를 접두사로 추가하지만 값을 추가하는 경우에만 접두사를 지정할 수 있습니다.

✔️ 속성에 형식과 동일한 이름을 지정하는 것이 좋습니다.

예를 들어 다음 속성은 명명 Color된 열거형 값을 올바르게 가져오고 설정하므로 속성의 이름은 Color다음과 같습니다.

public enum Color {...}
public class Control {
    public Color Color { get {...} set {...} }
}

이벤트 이름

이벤트는 항상 발생하는 작업 또는 발생한 동작을 참조합니다. 따라서 메서드와 마찬가지로 이벤트 이름은 동사로 지정되고 동사 시제는 이벤트가 발생한 시간을 나타내는 데 사용됩니다.

✔️ 동사 또는 동사 구를 사용하여 이벤트 이름을 지정합니다.

예를 들어 Clicked, Painting, DroppedDown 등이 있습니다.

✔️ 현재 및 과거 시제를 사용하여 이전과 이후의 개념으로 이벤트 이름을 지정합니다.

예를 들어 창을 닫기 전에 발생하는 close 이벤트를 호출 Closing하고 창을 닫은 후에 발생하는 닫기 이벤트를 호출 Closed합니다.

❌ "이전" 또는 "후" 접두사 또는 접두사를 사용하여 사전 및 사후 이벤트를 나타내지 마세요. 설명한 대로 현재 및 과거 시제를 사용합니다.

✔️ 다음 예제와 같이 "EventHandler" 접미사를 사용하여 이벤트 처리기(이벤트 용으로 사용되는 대리자)를 이름 지정하십시오.

public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);

✔️ DO는 이벤트 처리기에서 명명된 sendere 두 개의 매개 변수를 사용합니다.

보낸 사람 매개 변수는 이벤트를 발생시킨 개체를 나타냅니다. 보낸 사람 매개 변수는 일반적으로 보다 구체적인 형식을 사용할 수 있더라도 형식 object입니다.

✔️ 이벤트 인수 클래스의 이름에는 "EventArgs" 접미사를 사용하십시오.

필드 이름

필드 명명 지침은 정적 공용 및 보호된 필드에 적용됩니다. 내부 및 프라이빗 필드는 지침에 포함되지 않으며 공용 또는 보호된 인스턴스 필드는 멤버 디자인 지침에 의해 허용되지 않습니다.

✔️ 필드 이름에서는 PascalCasing을 사용하세요.

✔️ 명사, 명사 구 또는 형용사를 사용하여 필드 이름을 지정합니다.

❌ 필드 이름에 접두사를 사용하지 마세요.

예를 들어 "g_" 또는 "s_"를 사용하여 정적 필드를 나타내지 마세요.

Microsoft Corporation의 일부 저작권 2005, 2009. 모든 권리 보유.

프레임워크 디자인 지침에서 Pearson Education, Inc.의 권한으로 재인쇄 : 재사용 가능한 .NET 라이브러리에 대한 규칙, 관용구 및 패턴, Krzysztof Cwalina 및 Brad Abrams의 제2판, Microsoft Windows 개발 시리즈의 일환으로 Addison-Wesley Professional이 2008년 10월 22일 출판했습니다.

참고하십시오