C# & WPF Coding Convention

JeHun Lee·2022년 8월 18일
0

Nam Casing

C#에서는 Pascal 표기법과 Camel 표기법을 기본으로 사용한다.

Pascal case (upper camel)

  • 첫문자를 대문자로 시작한다.
  • 복합어일 경우 단어 단위로 첫 글자를 대문자, 나머지를 소문자로 표시한다.
    ex> BindingTest, FileName, Id, Index
  • 적용 범위
type(class, struct, enum, interface), method, property, event enum member, 
static / const field

Camel case (lower camel)

  • 첫문자를 소문자로 시작한다.
  • 복합어일 경우 단어 단위로 첫 글자를 대문자, 나머지를 소문자로 표시한다.
    ex> bindingTest, fileName, id, index
  • 적용범위
member field, local variable, parameter

General Naming Conventions

  • 이해하기 쉬운단어 사용

  • 일반적으로 흔히 사용하는 단어 사용

  • 알파벳으로 시작하지 않는 단어 사용 금지 : underscore, hypen, 숫자 등 시작단어 사용 금지
    예외) Private field name은 underscore로 시작
    ex> private int _size; , private bool _isAllowed

  • 약자, 약어 이니셜 사용 금지

  • Class는 맴버와 행위로 포함하는 명사를 사용한다.
    ex> public clss BooleanConverter

  • method는 동사를 사용한다.
    ex> private string AddAddress(string address)

  • member field, property는 명사를 사용한다.
    ex> private DataTable _resultTable, public DateTime StartedDate

  • Event Handler : On+해당 이벤트 형태로 선언.
    ex>private void OnClickOpen

Prefix / Suffix

Prefix

  • Interface : "I" 접두 사용
    ex> IServiceStatus

  • UIElement name : x 접두 사용, UIElement object의 이름은 "x + "Element name"으로 선언
    ex> < Border x:Name="xRectangleTitle" />

  • private field : underscore("_") 접두 사용, private field에만 해당

Suffix

  • ViewModel : View name + ViewModel
    ex> MapClientControlViewModel

  • 복수형 접미
    collection 형식의 변수와 Field 이름은 복수형 접미 사용
    Enum 이름은 복수형 접미 사용

Expressions & Statements

  • 문을 한줄에 하나씩만 작성
    ex>
    int age, count; (X)
    int age;
    int count; (O)
  • 메서드 정의와 속성 정의 간에는 빈 줄을 하나 이상 추가한다.
  • 다음 코드에 나와 있는 것처럼 괄호를 사용하여 식의 절을 명확하게 구분한다.
  • Brace(중괄호 영역) 사용 시 Egytian 은 사용하지 않는다.
  • 문을 1줄로 만들지 않는다.
    : 짧은 문이라도 중괄호를 감싸 표시한다.
    : 식이 줄바꿈 되면 중괄호를 감싸 표시한다.

Layout configuration

  • 기본 코드 편집기 설정(스마트 들여쓰기, 4자 들여쓰기, 탭 크기 4, 공백 삽입으로 저장)을 사용한다. (C#, XAML)
    : Tools -> Options -> Text Editor -> 해당 언어 -> TabIndenting : Smart
    : Tab -> Tab size : 4, Indent size : 4, check Insert spaces
    : WPF 작업 시 xaml 역시 마찬가지로 설정.

참고 블로그

0개의 댓글