ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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)


    반응형
Designed by Tistory.