C# coding Conventions - TeamCrazyPerformance/Game_study GitHub Wiki

변수 이름 짓기의 종류

변수 이름을 짓는 방법은 다양하나 대표적으로 아래와 같은 표기법이 존재한다. 여기서 C#은 주로 카멜 표기법과 파스칼 표기법을 사용한다.

  • 카멜 표기법(Camel Case): 각 단어의 첫 글자를 대문자로 표기하되 첫 단어의 첫 글자는 소문자로 표기하는 방식이다. Java, C#, JS에서 많이 사용된다. ex) camelCase, southKorea, numberOfProjectiles,...
  • 파스칼 표기법(Pascal Case): 각 단어의 첫 글자를 대문자로 표기한다. 요즈음은 그냥 이것도 카멜 표기법이라고 부른다. 변수나 함수 이름으로는 카멜백 표기법을 사용하는 언어라고 해도 적어도 클래스 이름은 파스칼 표기법을 사용하는 게 보통이다. ex) PascalCase, NationalBasketballAssociation, TotalCalculator,...
  • 스네이크 표기법(Snake Case): 모두 소문자(혹은 모두 대문자)로 쓰되, 띄어쓰기를 밑줄(_) 기호로 대체하는 방식이다. C, C++에서 많이 사용된다. 변수나 함수, 유형, 클래스 이름은 소문자를, 상수 및 매크로 이름은 대문자를 사용하는 게 관례. ex) snake_case, united_states_of_america, input_key,...

사용처

파스칼 케이스(PascalCase)

  • class, record, sturct, namespace는 파스칼 표기법을 따른다. record의 프로퍼티는 public이므로 파스칼 케이스로 작성된다.
  • interface 또한 파스칼 케이스로 작성하되 이름 앞에 "I"를 붙이고, 열거형(enum)을 선언할 때는 앞에 "E"를 붙인다. enum의 요소 또한 파스칼 형식을 따른다.
  • public 필드, 속성, 이벤트, 메서드 및 로컬 함수는 파스칼케이스를 사용한다.

카멜 케이스(camelCase)

  • private 혹은 internal와 같은 액세스 한정자는 카멜 표기법을 따르고, 프로퍼티의 경우 이름 앞에 "_"을 붙인다.
  • static 필드로 작업할 때 스레드 정적 사용을 위해 접두사를 사용한다.
  • 메소드 매개변수를 작성할 때 카멜 표기법을 따른다.

스네이크 케이스(SNAKE_CASE)

  • const를 사용하는 경우 대문자 스네이크 표기법(UPPER_SNAKE_CASE)을 따른다. image

레이아웃

좋은 레이아웃은 서식을 사용하여 코드 구조를 강조하고 코드를 읽기 쉽게 만든다. Microsoft 예제 및 샘플은 다음 규칙을 따른다.

  • 한 줄에 하나의 문장만 작성할 것.
  • 한 줄에 하나의 선언만 작성할 것.
  • 연속 줄이 자동으로 들여쓰기되지 않으면 한 탭 간격(공백 4개)을 들여쓸 것.
  • 메서드 정의와 프로퍼티 정의 사이에 하나 이상의 빈 줄을 추가할 것.
  • 중괄호("{}")는 다음 줄에 사용하여 표현식의 절을 명확하게 할 것.
  • 클래스 안에서 멤버 변수와 메서드의 등장 순서는 다음을 따른다.
  1. public 멤버변수/프로퍼티
  2. internal 멤버변수/프로퍼티
  3. protected 멤버변수/프로퍼티
  4. private 멤버변수
  5. 생성자
  6. public 메서드
  7. Internal 메서드
  8. protected 메서드
  9. private 메서드

19오성혁

참고