1. General Naming Rules
- 외부인도 알아볼 수 있는 변수사용 권장.
- 되도록 약어를 쓰지 말 것,
※ 단, 위키피디아 등에 등재된 약어, 이미 개발자들 사이에 익히 알려진 약어는 사용가능
ex) i for an iteration(for, while), T for template parameter, 짧은 코드 내의 갯수를 의미하는 n
- '단어'는 Camel Case or Pascal Case 사용
ex) start rpc 라는 단어를 변수로 선언한다면?
Camel Case: startRpc
Pascal Case: StartRpc
※ StartRPC같은 네이밍은 잘못된 예이다.
2. Type Name
Type names should start with a capital letter and have a capital letter for each new word.
타입이름 (ex. 구조체, 클레스)등은 반드시 대문자로시작하는 Pascal Case를 따른다.
class UrlTable { ...
class UrlTableTester { ...
struct UrlTableProperties { ...
3. Variable Names
함수의 인자, 변수명은 Snake Case(소문자만으로 '_' 언더바 이용)
string table_name (O)
string tableName (X)
4. Constant Names
const, constexpr 이 사용되는 상수들은 Camel Case를 따르되, 앞자리에 접두어 'k'를 붙인다.
const int kDaysInAWeek = 7; const int kAndroid8_0_0 = 24;
5. Function Names
보통의 함수는 Pascal Case를 따른다.
AddTableEntry(), DeleteUrl()
허나 C++ Libraray reference 에서는 다음과같이 sanke_case 를 따른다.
6. Macro Names
현재 C++17 표준에서는 보통 매크로 상수 선언을 임의로 하는 것을 권장하지 않는다.
매크로는 당연히 전처리기 단계에서 처리 되기 때문에
개발자가 바라보는 코드 - 컴파일의 동작과는 상이하게 예상치 못한 결과를 가져오기 쉽다는 점에서 사용을 권장하지 않는다.
Instead of using a macro to store a constant, use a const variable.
그럼에도 불구하고 사용해야한다면
Snake Case (All Caps) 를 따른다.
USER_LOGIN_COUNT
7. Conditionals (조건문)
- if 와 else는 줄을 달리한다.
- 조건문 포맷에는 2가지 방법이있다. 괄호와 조건 사이에 공백 포함 or 공백 포함X 방법!
- 보통은 공백을 포함하지 않는 방법을 쓴다. (필수는 아니다)
- 모든 케이스에서 if와 () 괄호 사이에는 공백이 필요하다.
♣ ☆ C언어에서는 변수, 상수 모두 Snake Case를 따른다
add_table_entry(), delete_url()
※ Boolean type 변수는 항상 'b'라는 접두어를 갖고 Camel Case를따른다.
bIsEmpty (O) isEmpty(X)
권장사항일 뿐 naming rule은 절.대.적. 이지는 않다!
🔗 Reference
https://google.github.io/styleguide/cppguide.html
http://manual.gromacs.org/documentation/5.1-current/dev-manual/naming.html
'C > C++' 카테고리의 다른 글
[C++] auto (0) | 2020.03.21 |
---|---|
[std] Vector (0) | 2020.03.21 |
cmath, math.h (feat. 백준 3053 택시 기하학) (0) | 2019.12.08 |
Copy Constructor (0) | 2019.11.20 |
character array vs String (0) | 2019.11.10 |