프로그래밍





2018/10/05 11:01

C# Coding Guideline

C# Coding Guideline
2018. 10. 05

  • 이 문서는 마이크로소프트의 가이드라인과 다른 여러 가지 레퍼런스를 기초로 하여 작성하였습니다.
  • 코딩 컨벤션은 코드 리뷰를 요청할때 코드를 분석하면서 참고하시면 좋겠습니다.
  • 참고 : 이 문서에는 카멜 표기법과 파스칼 표기법을 혼용합니다.

  • 파스칼 표기법 - 단어의 첫번째 글자는 모두 대문자, 나머지는 모두 소문자.

    : BackColor

    카멜 표기법 - 첫번째 단어를 제외한 단어의 첫번째 글자는 대문자, 나머지는 모두 소문자.
    ( 번째 단어부터 대문자, 낙타 등처럼 중간부분이 볼록해서 낙타 표기법 이라고 한다)

    backColor

  • 변수는 한번에 알아 볼 수 있도록 선언합니다.

    좋은 예 : string address, int salary
    나쁜 예 : string nam, string addr, int sal

  • 한글자로 이루어진 변수는 지양합니다. (다만, for문과 같은 int i = 0; 의 경우 예외로 한다.)

  • 변수명은 예약어와 유사하게 사용하지 않습니다.

  • 변수는 모두 문자열로 시작합니다. (단, 매개변수의 경우엔 첫번째 글자에 _ 를 사용할 수 있습니다.)

  • 함수 이름의 시작은 동사, 동사구로 합니다.

  • 파일명은 해당 파일에 선언된 클래스 명을 사용해 파스칼 표기법으로 사용합니다.
    ex : HelloWorld 클래스는 HelloWorld.cs 로 저장

  • 들여쓰기, 공백의 경우 indent 4를 사용합니다. (tab 1번)

  • 주석은 코드와 같은 수준의 indent 로 작성합니다.

  • static 멤버에 대한 접근은 반드시 클래스 명으로 직접 접근하도록 작성합니다.

  • 변수에 대한 정렬은 기본 IDE 설정을 따릅니다.

  • private 멤버 변수 메서드는 클래스의 상단에 public 멤버는 하단에 작성합니다.

  • 하드 코딩은 지양합니다.

  • 메서드는 1~25 정도로 주석이 필요 없도록 짧게 작성하고 길어 지는 경우 리팩터링을 통해 기능을 분리해 작성합니다.

  • 메서드 명은 수행하는 이름에 따라 작성하는 것이 좋습니다.
    좋은 : void SavePhoneNumber(string phoneNumber) 
    나쁜 : voidSaveDetails(string phoneNumber) // 번호를 저장하기 위한 메서드

  • 하나의 메서드는 하나의 작업만 합니다.

  • 코드는 명시적으로 작성합니다
    ex : string.Empty() if( isTrue == true )

  1. 클래스, 함수, 프로퍼티 : 파스칼 표기법
    public class HelloWorld
    {
    ...
    }

    void CodingStyle(string bar)
    {
    ...
    }

  2. 필드 : 카멜 표기법
    class HelloWorld
    {
    int rectangleSize;
    }

  3. 인터페이스 : 'I' + 파스칼 표기법
    IEntry, IFace

  4. 상수 : 스네이크 표기법
    readonly int SNAKE_CASE;
    public const int MAKE_NUM;

  5. bool 값은 ' is ' 접두어를 붙입니다.

  6. 중괄호는 다음과 같이 작성합니다. (한줄 코드 포함)
    if(cond)
    {
        state;
    }
    else if (cond)
    {
        state2;
    }


1 2 3 4 5 6 7 8 9 10 다음