형식에는 다음과 같은 종류의 멤버가 포함됩니다.
메서드
속성
필드
이벤트
이 단원에 나오는 지침은 클래스 라이브러리 디자이너에서 .NET Framework과 일관성이 있는 멤버 이름을 선택하는 데 도움이 됩니다.
메서드 이름
메서드 이름은 동사 또는 동사구를 사용하여 지정합니다.
일반적으로 메서드는 데이터 작업을 수행하므로 동사를 사용하여 메서드의 동작을 설명함으로써 개발자가 메서드의 기능을 보다 쉽게 이해할 수 있습니다. 메서드가 수행하는 동작을 정의하는 경우 개발자의 관점에서 명확하게 구분할 수 있는 이름을 선택해야 합니다. 메서드가 해당 기능을 수행하는 방법을 설명하는 동사를 선택해서는 안 됩니다. 즉, 메서드 이름에 구현 세부 사항을 사용해서는 안 됩니다.
속성 이름
속성 이름은 명사, 명사구 또는 형용사를 사용하여 지정합니다.
속성에는 데이터가 포함되므로 속성에 명사구 또는 형용사를 사용해야 합니다.
Get 메서드의 이름과 일치하는 속성은 사용하지 않습니다.
예를 들어, 속성에 EmployeeRecord라는 이름을 지정하거나 메서드에 GetEmployeeRecord라는 이름을 지정하지 않습니다. 개발자는 해당 프로그래밍 작업을 수행하기 위해 사용할 멤버를 알 수 없습니다.
부울 속성의 이름은 CantSeek 대신 CanSeek과 같은 긍정 구문을 사용하여 지정합니다. 선택적으로, 부울 속성의 접두사로 Is, Can 또는 Has를 사용할 수도 있지만 이는 값을 추가하는 경우에만 해당됩니다.
속성에 해당 형식과 같은 이름을 지정할 수 있습니다.
열거형에 대한 강력한 형식의 속성이 있는 경우 해당 속성과 열거형에 같은 이름을 사용할 수 있습니다. 예를 들어, CacheLevel이라는 열거형이 있는 경우 해당 값 중 하나를 반환하는 속성의 이름 또한 CacheLevel일 수 있습니다.
이벤트 이름
이벤트 이름은 명사 또는 명사구를 사용하여 지정합니다.
이벤트 이름은 현재 및 과거 시제를 사용하여 이전과 이후의 개념을 지정합니다. 예를 들어, 창이 닫히기 전에 발생하는 닫기 이벤트는 Closing이고 창이 닫힌 후 발생하는 닫기 이벤트는 Closed입니다.
이전 및 이후 이벤트를 나타내기 위해 Before 또는 After 접두사나 접미사를 사용해서는 안 됩니다.
이벤트 형식으로 사용되는 대리자인 이벤트 처리기의 이름은 EventHandler 접미사를 사용하여 지정합니다.
이벤트 처리기 시그니처에는 sender 매개 변수와 e 매개 변수를 사용합니다.
sender 매개 변수의 형식은 Object이고, e 매개 변수는 EventArgs에서 상속되거나 인스턴스화되어야 합니다.
이벤트 인수 클래스의 이름은 EventArgs 접미사를 사용하여 지정합니다.
필드 이름
필드에 대한 명명 지침은 정적 필드, 공용 필드 및 보호된 필드에 적용됩니다. 공용 또는 보호된 인스턴스 필드를 정의해서는 안 됩니다. 자세한 내용은 필드 디자인을 참조하십시오.
필드 이름에는 파스칼식 대/소문자를 사용하지 않습니다.
필드 이름은 명사 또는 명사구를 사용하여 지정합니다.
필드 이름에는 접두사를 사용하지 않습니다. 예를 들어, 정적 필드와 다른 필드를 구분하기 위해 g_ 또는 s_를 사용해서는 안 됩니다.
Portions Copyright 2005 Microsoft Corporation. All rights reserved.
Portions Copyright Addison-Wesley Corporation. All rights reserved.
디자인 지침에 자세한 내용은 참조를 "Framework 디자인 지침: 규칙, 숙어, 및 재사용에 대 한 패턴입니다.NET 라이브러리"도 서 Krzysztof Cwalina와 Brad Abrams, 게시 Addison-wesley, 2005.