Conding Style
파스칼 표기법 : 첫 단어를 대문자로 시작하는 표기 방법 (PascalCase)
카멜 표기법 : 각 단어의 첫문자를 대문자로 표기하고 붙여쓰되, 맨처음 문자는 소문자로 표기하는 방법 (camelCase)
P
: 파스칼 표기법
c
: 카멜 표기법
_c
: 밑줄로 시작하는 카멜 표기법
Naming Rules
- Private fields는
_c
로 표기한다. - Private Static fileds도
_c
로 표기한다 - Inline Variable은
c
로 표기한다. - Parameter는
c
로 표기한다. - 기타 모든 식별자에 대해서는 모두
P
로 표기한다. - Project File, Source File, Namespace, Class, Struct, Interface, Generic Class, Method, Property, Enum, Delegate, Event
- Interface는 접두사 'I'를 사용해서 붙여서 사용한다.
일반 지침
- 모두 대문자를 사용하거나 소문자를 사용하지 않는다.
- 동일한 타입의 선언을 작성하지 않는다. (namespace, class, method, property, field, parameter)
- 숫자로 시작되는 이름을 작성하지 않는다.
- 숫자 접미사를 사용하지 않는다.
- 변수에는 정확한 의미를 담아야 하고 약어를 사용하지 않는다.
- 헝가리안 표기법을 사용하지 않는다. (m_, nIndex, ICount, strName)
- 예약어를 이름으로 사용하지 않는다.
- Framework namespace 또는 타입과 충돌되는 이름을 사용하지 않는다.
- 식별자에 중복되는 의미의 접두사, 접미사를 사용하지 않는다.
- 부모 클래스의 이름을 속성에 포함하지 않는다.
- 지역변수에 _를 사용하지 않는다.
- i, n, s 같이 한글자로 된 이름을 사용하지 않는다. (loop는 제외)
- 항상 파스칼 표기법과 카멜 표기법만을 사용한다.
- 약어를 사용할 때는 모두에게 알려진 약어만을 사용해야 한다.
- boolean 이 들어가는 변수, 속성, 메서드등은 "Is" 또는 유사한 접두사를 사용한다. (Can, Has)
- UI구성요소는 알맞는 접두어를 붙여서 다른 변수와 구분해야 한다.
Control | Prefix |
---|---|
Label | lbl |
TextBox | txt |
DataGrid | dtg |
Button | btn |
ImageButton | imb |
Hyperlink | hlk |
DropDownList | ddl |
ListBox | lst |
DataList | dtl |
Repeater | rep |
Checkbox | chk |
CheckBoxList | cbl |
RadioButton | rdo |
RadioButtonList | rbl |
Image | img |
Panel | pnl |
PlaceHolder | phd |
Table | tbl |
Validators | val |
Indent Style
- 들여쓰기에는 Tab을 사용해서 작성하고 Tab 사이즈는 4로 정의한다. (Space를 사용하지 않는다)
- 중괄호 {} 는 한줄을 단독으로 사용해야 한다. (문장 마지막에 작성하지 않는다)
- 중괄호({})는 감싸고 있는 밖의 코드와 동일한 레벨에서 작성한다.
- 공백을 사용하는 명령이나 괄호 등의 구분에는 한 칸의 공백만 사용해야 한다.
- 논리적인 코드 그룹은 다른 코드와 한칸 띄어서 구분해야 한다.
- 클래스와 메서드 사이에는 빈 줄 하나로만 사용해야 한다.
Comment Style
- 주석은 문법적으로 정확하고 간결하게 작성해야 한다.
- 주선은 코드와 같은 레벨에 있어야 한다 (들여쓰기의 레벨을 같이 사용한다.).
- //, /// 을 사용하고 /* .. */ 는 사용하지 않는다.
- flowerbox를 사용하지 않는다. (*****************)