명명 규칙

명명 규칙(Naming Conventions)은 소프트웨어를 개발할 때, 변수, 함수 등의 이름을 만드는 규칙을 가리킨다. 이름을 잘 지으면 소스 코드만 보고도 프로그램이 어떤 식으로 동작할 지 대략적으로 이해할 수 있다. 이 페이지에서는 MS에서 제안하는 일반 명명 규칙(General Naming Conventions) 페이지를 간략하게 변역한다.

상위 항목으로 명명 지침(Naming Guidelines)이 있는데 이건 번역하지 않을 것 같다.

2015/01/06 15:12 raychani
2015/01/06 15:44 raychani

단어 선택

  • :-D 영어 화자가 쉽게 읽을 수 있도록 식별자 이름을 지어라.
    • HorizontalAlignment가 AlignmentHorizontal보다 읽기 편하다.
  • :-D 간결함보다 이해하기 쉬운 것이 중요하다.
    • CanScrollHorizontally가 ScrollableX보다 이해하기 쉽다.
  • m( 언더바('_'), 하이픈('-') 등 영문자, 숫자 외의 문자를 사용하지 말아라.
  • m( 헝가리안 표기법을 사용하지 말아라.
  • :-| 다른 언어에서 널리 사용되는 키워드를 식별자 이름으로 사용하는 것을 피해라.

축약어와 이니셜

주: 축약어(acronyms)는 et cetera를 etc.로 표기하는 것 같이 단어의 일부만 표기하는 것이고, 이니셜(abbreviations)은 European Union을 EU로 표기하는 것 같이 두문자(이니셜)로 표기하는 것이다.

  • m( 축약어를 사용하지 말아라.
    • GetWindow를 사용하는 것이 GetWin을 사용하는 것보다 낫다.
  • m( 널리 사용되지 않는 이니셜은 가능한 사용하지 말아라.

특정 언어에 종속될 수 있는 이름

  • :-D 의미를 중시한 이름을 사용하는 것이 특정 언어의 자료형을 이름에 넣는 것보다 낫다.
    • GetLength가 GetInt보다 더 좋은 이름이다.
  • :-D 이름에 자료형이 반드시 들어가야 한다면 CLR에서 이용하는 자료형을 이용하는 것이 특정 언어의 자료형을 이용하는 것보다 낫다.
    • Int64를 이용하는 것이 long을 이용하는 것보다 낫다.(주: 컴파일러, 언어에 따라 long의 크기는 다를 수 있다.)
  • :-D 특별한 의미가 없고 자료형이 중요하지 않은 경우는 value, item과 같은 일반적인 이름을 이용하는 것이 자료형 이름을 반복하는 것보다 낫다.
C# Visual Basic C++ CLR
sbyte SByte char SByte
byte Byte unsigned char Byte
short Short short Int16
ushort UInt16 unsigned short UInt16
int Integer int Int32
uint UInt32 unsigned int UInt32
long Long __int64 Int64
ulong UInt64 unsigned __int64 UInt64
float Single float Single
double Double double Double
bool Boolean bool Boolean
char Char wchar_t Char
string String String String
object Object Object Object

기존 API의 새로운 버전에 대한 이름 짓기

  • :-D 기존 API와 유사한 이름을 이용해라.
  • :-D 기존 API에 접미사를 추가하는 것이 접두사를 추가하는 것보다 낫다.
    • Intellisense, API 문서 등에서 신구 API를 쉽게 연관지어 찾을 수 있다.
  • :?: 접두사, 접미사 추가가 아닌 완전히 새롭지만 매우 의미있는 이름을 만드는 것도 고려해 보아라.
  • :-D 숫자 접미사를 이용하여 새로운 버전의 API가 있음을 알릴 수 있다. 산업 표준과 관계된 이름과 같이 기존 이름이 매우 상식적인 경우나, 이름을 바꾸는 것이 적절하지 않은 경우에 이 방법이 특히 효과적이다.
  • m( 새로운 버전의 API를 구분하기 위해 'Ex'와 같은 접미사를 이용하지 말아라
  • :-D 64비트를 지원하는 새로운 API를 위해 64라는 접미사를 이용하라. 단 기존에 32비트 전용 API가 있는 경우만 이렇게 해야 한다.

토론

댓글을 입력하세요. 위키 문법이 허용됩니다:
K Q H U M
 
명명_규칙.txt · 마지막으로 수정됨: 2015/01/06 15:12 저자 raychani
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0