C++ Coding standards
코딩 스탠다드는 절대적인 규칙이 아님. 그저 가독성을 높이기 위할뿐. 가장 중요한 점은 1. 클래스/함수/변수명은 이해가 잘 가도록 정하기 2. 주석은 이해 안 될 때만 코드블럭 단위로 그 위에 작성
- 클래스/구조체: 파스칼
- 지역변수/함수param: 카멜
- 메서드: 동사-목적어쌍.
public은 파스칼, 그 외엔 카멜
- 상수/#define: 모두 대문자, _로 구분
- boolean: b
interface: I
enum: e
class 멤버변수: m
- {}는 항상 새로운 줄에. {} 안에 코드가 1줄만 있더라도 반드시 사용
- 반복문 임시변수: i, m 말고 변수 데이터에 대한 이름 사용
- 반드시 필요한 경우 말고는 double 대신
float
사용. 부동소수점에 f 붙이기.
switch
는 반드시 default 사용. fallthrough는 C++17 이상부터 지원.
- 값 변화가 없다면 반드시
const
사용. 개체를 수정하지 않는 멤버 함수도 const를 붙임.
const_cast
를 직접적으로 사용하지 않는다. 대신 const인 개체를 수정 가능한 형태로 변환해서 반환하는 함수를 만든다.
#define
으로 정의된 상수는 항상 괄호로 감싸준다. 상수는 #define 보다 const 상수 변수로 선언.
- 모든 컴파일러 경고는 반드시 고친다.
- 한 줄에 변수 하나만 선언한다.
- 지역변수는 선언과 동시에 초기화. 가능한 한 변수 사용하기 직전에 선언할 것.
자료형
그냥 int, unsigned int는 지양(system dependent기 때문). 되도록 _int32처럼 명시적 사용.
참고
Current Coding Standards
n
: int
d
: double
m_
: 멤버변수
- htuple, hobject는 묶어서 선언, 기본 자료형은 cstring, double, int, bool 순으로 정렬
Algorithm
파일 관리
- 필요한 파일만 남기고 레거시는 _legacy에 정리
- 파일 업데이트 할 경우엔 이전 버전에 폐기일(업데이트 당일자) 적고 최신 파일에는 이름만 남김
- SVN 사용 익히기