wiki:CodingConventions

Version 2 (modified by 아르키니, 4 years ago) (diff)

--

DKGL Coding Conventions. [DRAFT]

Coding

{ 와 } 는 다른 라인에 위치하게 되는 경우는 new-line 후에 한다.

올바른 방법 올바르지 않음
if (expr)
{
// 되도록 이렇게.
}
if (expr) {
// 되도록 이렇게 하지 말것.
}

짧은것, 한줄에 한해서는 허용함.

if (expr) {... } // 한줄, 짧은것에 대하여 허용
struct ABC
{
    int Number() const { return 10; } // 허용
};

Naming

매크로를 제외하고 기본적으로 CamelCase 를 따른다. 의미 있는 이름을 사용해야 한다. 함수는 동사형, 변수는 명사형을 권장함.

리턴값이 함수의 역할에 해당하는 값이라면 Get 으로 시작하지 않는다.

올바른 이름 올바르지 않음
String Name()
{
    return this->name;
}
String GetName()
{
    return this->name;
}

허용 가능한 경우 (리턴값이 함수 수행에 대한 결과값)

bool GetName(String& name)
{
    if (this->name != nullptr)
    {
        name = this->name;
        return true;
    }
    return false;
}

함수, 상수

대문자로 시작한다.

변수, 인스턴스

소문자로 시작함.

매크로

대문자와 _ 로 구성함

#define SOME_MACRO_FOR_SOMETHING 20

기타

lambda 는 소문자로

auto lambda = [](){};

템플릿 매개변수도 상수로 취급한다.

template <int Num>
struct Number 
{
};

Copyright

소스코드가 변경될 때만 카피라이트 연도 업데이트 진행한다.