R-Value를 써라
- if문에서 변수를 Right Value로 두어라.
- 실수로 비교문(==)이 아닌 대입문(=)이 사용했을 때의 실수를 막아준다.
상수성(const 키워드)을 애용하라.
- 변경이 이루어지지 말아야 할 변수나 함수에 const 값 적극 이용하라.
- const는 변경이 되면 안되는 상황을 인지하게 해준다.
IN,OUT 매크로를 적극 활용하라
- 함수 인수의 IO가 어떻게 이뤄지는 IN, OUT 매크로를 써서 명시하라.
리턴값은 enum형이나 define으로 정의해서 공통된 값을 적극 사용하라.
- 통일성 있는 규칙은 코드 분석이나 디버깅시에 직관적이다.
전역 변수는 자제하라.
- static 변수나, 전역변수의 소멸 시점은 잡기 어렵다. 생성/소멸 순서가 중요하다면 특히나 static 또는 전역 변수로 설정하지 말아라.
# 가상 함수가 존재하는 구조체나 클래스 초기화를 memset을 사용하지 말라
- 가상 함수 테이블까지 초기화 되어, 가상 함수 호출시 꼬일 가능성이 있다.
- POD(Plain Old Data = 데이터로만 구성된 자료형)형에만 memset이나 memcpy 등의 메모리 관련 함수를 사용해야 한다.
의미가 있는 변수의 자료형은 typedef 해서 사용하라.
- 돈, 캐릭터 인덱스 등의 자료형은 typedef 해서 사용하는 것이 자료형 변화에도 유연하고 명시적이다.