-
C# 표준 네이밍 규칙프로그래밍 2014. 5. 2. 22:16반응형이 네이밍 규칙은 닷넷 스파이더 팀에서 만든 [C# Coding Standards and Best Programming Practices]를 바탕으로 만들었습니다.
전반적으로 카멜(Camel) 표기법 파스칼(Pascal) 표기법으로 이루어짐. 헝가리안 표기법은 사용하지 않는다.
(컴파일러의 발전으로 변수 타입 확인이 쉬워짐. 헝가리안 표기법은 이제 난잡하게 보이는 요인이 될 수 있음)
파스칼(Pascal) 표기법: 단어의 첫글자는 모두 대문자, 나머지는 소문자 (예: GetObject)
카멜(Camel) 표기법: 첫 단어는 소문자, 나머지는 첫 문자를 대문자로 하는 표기법 (예: getObject)
일반 함수: 파스칼
void GetCurrentTime( ... )
클래스: 파스칼
class Session
멤버 함수: 파스칼
class Session
{
socket& GetSocket(...);
void Receive(...);
};
변수와 함수 파라미터: 카멜
int nPlayers = 0;
void SendMessage(string userName)
{
string sendMessage = "Hello "+ userName;
}
인터페이스 클래스: I를 접두어로 붙인 파스칼
class ICharacter
변수 이름에는 되도록 약어를 사용하지 않는다.
string addr(X) / string address(O)
string buf(X) / string buffer(O)
한 글자로 된 이름(i, n, s, ...)은 사용하지 않는다.(단, 루프문에는 예외)
for( int i = 0; i < 10; ++i ) /// OK
클래스 레벨(private, proctected)의 멤버변수는 이름 앞에 언더스코어(_)를 사용하여 구분한다.
private:
string _userName;
키워드(static, const, 등등..)와 비슷한 이름은 사용하지 말것.
boolean 변수, 속성, 함수에는 is또는 유사한 접두어(has, can, should)를 붙인 이름을 사용한다.
bool IsConnected();
bool CanConnect();
bool HasLicense();
bool ShouldSort();
n은 객체 수를 나타내는 변수의 접두어로 사용한다.
list<Line> lines;
int nLines;
객체의 이름이 암시되어 있으면 메소드 이름에 반복 사용하지 않는다.
Line line;
line.GetLength() // (O)
line.GetLineLength() // (X)
반응형'프로그래밍' 카테고리의 다른 글
[C++] 모든 컨테이너를 배열처럼 접근? std::advance() (0) 2014.05.24 CPU에 따른, 프로그램에서의 효율적 스레드의 수 (2) 2014.05.23 boost singleton_pool의 사용 (0) 2014.04.20 boost object_pool의 사용 (0) 2014.04.19 fopen할 때 파일 경로 설정에서 삽질... (0) 2013.04.01