차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

명명_지침_-_클래스 [2015/01/06 15:44] (현재)
raychani 만듦
줄 1: 줄 1:
 +====== 명명 지침 - 클래스 ======
 +**명명 지침 - 클래스**(Names of Classes, Structs, and Interfaces)는 MS 명명 지침의 일부를 간략히 번역한 페이지이다. 클래스, 구조체, 인터페이스의 이름을 짓는 요령을 설명한다.
  
 +{{tag>it sw naming}}
 +{{topic>​naming}}
 +
 +===== 일반적 지침 =====
 +  * 클래스와 구조체의 이름은 명사나 명사구로 짓고, 파스칼 표기법을 따르라.
 +    * 파스칼 표기법: 모든 단어의 첫 문자를 대문자로 표기.
 +    * 메서드의 이름은 동사로 지어 쉽게 구분하고 영어적으로 읽기 쉬운 코드가 될 수 있다.
 +  * 인터페이스의 이름은 형용사구로 짓는다. 가끔 명사나 명사구로 지을수도 있다.
 +    * 명사나 명사구인 경우는 인터페이스가 아닌 추상 클래스를 가리킬 것이다.
 +  * 클래스 이름에 '​C'​와 같은 접두어를 붙이지 마라.
 +    * 주: MFC에서는 이용했다. 개인적으로 윈도우 환경에서 이용할 C++ 프로그램이라면 C를 붙이는 것이 낫다고 본다.
 +  * 파생(derived) 클래스의 이름은 기본(base) 클래스의 이름으로 끝나게 하는 것을 고려해 보라.
 +    * 이해하기 쉽고, 관계가 명확하게 드러난다. ArgumentOutOfRangeException과 Exception이 이런 경우이다.
 +    * 반드시 이렇게 이름 지을 필요는 없다. Button 클래스는 Control을 상속받지만 이름에 Control을 포함하지는 않는다.
 +  * 인터페이스 이름에는 접두어 '​I'​를 추가하여,​ 다른 자료형과 쉽게 구분할 수 있도록 한다.
 +    * 예: IComponent, ICustomAttributeProvider,​ IPersistable
 +  * '​I'​라는 접두어만 다른 인터페이스와 클래스 이름을 이용하는 경우는, 클래스가 인터페이스를 구현하는 경우로 한정한다.
 +
 +===== 제네릭의 이름 =====
 +===== 일반적인 자료형 =====
 +===== 열거형 =====