Changes between Initial Version and Version 1 of CodingConventions


Ignore:
Timestamp:
11/05/18 11:51:02 (5 years ago)
Author:
Hongtae Kim
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CodingConventions

    v1 v1  
     1DKGL Coding Conventions. [DRAFT]
     2
     3== Coding
     4{ 와 } 는 다른 라인에 위치하게 되는 경우는 new-line 후에 한다.
     5
     6|| 올바른 방법 || 올바르지 않음 ||
     7{{{#!td
     8{{{#!cpp
     9if (expr)
     10{
     11// 되도록 이렇게.
     12}
     13}}}
     14}}}
     15{{{#!td
     16{{{#!cpp
     17if (expr) {
     18// 되도록 이렇게 하지 말것.
     19}
     20}}}
     21}}}
     22|-----------
     23{{{#!td colspan=2
     24짧은것, 한줄에 한해서는 허용함.
     25{{{#!cpp
     26if (expr) {... } // 한줄, 짧은것에 대하여 허용
     27}}}
     28{{{#!cpp
     29struct ABC
     30{
     31    int Number() const { return 10; } // 허용
     32};
     33}}}
     34}}}
     35
     36== Naming
     37매크로를 제외하고 기본적으로 CamelCase 를 따른다.
     38의미 있는 이름을 사용해야 한다.
     39함수는 동사형, 변수는 명사형을 권장함.
     40
     41리턴값이 함수의 역할에 해당하는 값이라면 Get 으로 시작하지 않는다.
     42
     43
     44|| 올바른 이름 || 올바르지 않음 ||
     45{{{#!td
     46{{{#!cpp
     47String Name()
     48{
     49    return this->name;
     50}
     51}}}
     52}}}
     53{{{#!td
     54{{{#!cpp
     55String GetName()
     56{
     57    return this->name;
     58}
     59}}}
     60}}}
     61|--------
     62{{{#!td colspan=2
     63허용 가능한 경우 (리턴값이 함수 수행에 대한 결과값)
     64{{{#!cpp
     65bool GetName(String& name)
     66{
     67    if (this->name != nullptr)
     68    {
     69        name = this->name;
     70        return true;
     71    }
     72    return false;
     73}
     74}}}
     75}}}
     76
     77
     78= 함수, 상수
     79대문자로 시작한다.
     80
     81= 변수, 인스턴스
     82소문자로 시작함.
     83
     84= 매크로
     85대문자와 _ 로 구성함
     86
     87{{{#!cpp
     88#define SOME_MACRO_FOR_SOMETHING 20
     89}}}
     90
     91= 기타
     92lambda 는 소문자로
     93{{{#!cpp
     94auto lambda = [](){};
     95}}}
     96
     97템플릿 매개변수도 상수로 취급한다.
     98{{{#!cpp
     99template <int Num>
     100struct Number
     101{
     102};
     103
     104}}}