포인터가 변수일 때는 *을 변수명 앞에, 반환형일 때는 타입 뒤에.


int *a;

float* get_ptr(int *arg1);


그냥 배울 때 저렇게 배워서 계속 쓰고 있음. 개인적으로 변수에도 타입 뒤에 붙이는걸로 통일하고 싶은데 빌어먹을 C의 괴상한 문법때문에..



파라미터가 길어지면 다음줄에 두 번 인덴트하기.


bool is_true(const std::string& name, const std::string& address,

        const std::string& email, uint32_t sex)

{

    if (...) {

        return true;

    }

    return false;

}


여는 괄호에 맞춰서 인덴트 하는 방식도 있던데 그럼 함수 이름이 바뀌면 밑에도 새로 들여쓰기 해야해서 ㅂㄹ

한번만 인덴트 하면 함수 본문이랑 헷갈려서 저렇게 두 번(스페이스 8개) 넣어줌. 비슷하게 if문 같은 경우에도 조건이 길어지면 저렇게 다음 줄에 두 번 들여쓰기 함.



여기서부터가 골때리는데 괄호 안에서 줄이 길어질 때 &&, || 의 경우에는 줄 마지막에, +, - 같은 경우엔 다음 줄 첫번째에 넣는 습관이 있다...


if (is_a_true &&

        is_b_true &&

        is_c_true) {

    ret = true;

}


std::string full_name = hapche(first_name

    + middle_name

    + last_name);


이유는 모르겠고 그냥 예전부터 저렇게 써와서 그냥 계속 쓰는 듯. 처음엔 이유가 있었겠지만 지금은 기억 안난다.


문득 코드 짜다가 새삼 드는 생각이 코딩 컨벤션이란게 그냥 개인의 습관 같은거지 대단한 의미가 있는게 아닌거 같아. 시리얼 먼저 붓느냐 우유 먼저 붓느냐 같은거.

개인적으로 제일 부러운 사람이 코딩 컨벤션이고 나발이고 없이 막 짜는데 잘 돌아가게 짜는 사람. 나는 한땀 한땀 혹여 스페이스 한칸이라도 더 들어가지 않을지 조심스럽게 짜고도 유지보수 할려면 머리 싸매는데 그냥 생각의 흐름대로 막 짜고 그걸 나중에 또 기억해서 고칠 줄도 아는거 보면 비꼬는게 아니라 진심 감탄스러움..