C# 표준 네이밍 규칙 - 1

2017. 1. 25. 13:49C# 콘솔( Console )/변수, 자료형, 형변환

이 네이밍 규칙은 닷넷 스파이더 팀에서 만든 [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)


출처 - 티스토리 블로그 ZepeWAVW