DKGL Coding Conventions. [DRAFT] == Coding { 와 } 는 다른 라인에 위치하게 되는 경우는 new-line 후에 한다. || 올바른 방법 || 올바르지 않음 || {{{#!td {{{#!cpp if (expr) { // 되도록 이렇게. } }}} }}} {{{#!td {{{#!cpp if (expr) { // 되도록 이렇게 하지 말것. } }}} }}} |----------- {{{#!td colspan=2 짧은것, 한줄에 한해서는 허용함. {{{#!cpp if (expr) {... } // 한줄, 짧은것에 대하여 허용 }}} {{{#!cpp struct ABC { int Number() const { return 10; } // 허용 }; }}} }}} == Naming 매크로를 제외하고 기본적으로 CamelCase 를 따른다. 의미 있는 이름을 사용해야 한다. 함수는 동사형, 변수는 명사형을 권장함. 리턴값이 함수의 역할에 해당하는 값이라면 Get 으로 시작하지 않는다. || 올바른 이름 || 올바르지 않음 || {{{#!td {{{#!cpp String Name() { return this->name; } }}} }}} {{{#!td {{{#!cpp String GetName() { return this->name; } }}} }}} |-------- {{{#!td colspan=2 허용 가능한 경우 (리턴값이 함수 수행에 대한 결과값) {{{#!cpp bool GetName(String& name) { if (this->name != nullptr) { name = this->name; return true; } return false; } }}} }}} = 함수, 상수 대문자로 시작한다. = 변수, 인스턴스 소문자로 시작함. = 매크로 대문자와 _ 로 구성함 {{{#!cpp #define SOME_MACRO_FOR_SOMETHING 20 }}} = 기타 lambda 는 소문자로 {{{#!cpp auto lambda = [](){}; }}} 템플릿 매개변수도 상수로 취급한다. {{{#!cpp template struct Number { }; }}} = Copyright 소스코드가 변경될 때만 카피라이트 연도 업데이트 진행한다.