Development Convetion - Tiny-Metro/Poly-Metro GitHub Wiki

๊ฐœ๋ฐœ์— ์‚ฌ์šฉํ•  ๋ณ€์ˆ˜, ํŒŒ์ผ๋ช… ๋“ฑ์˜ Convention์ž…๋‹ˆ๋‹ค.

๊ธฐ์กด ํšŒ์˜์—์„œ ์ด๋ฏธ ์ •ํ•ด๋†“์€ Convention์ด ์žˆ์ง€๋งŒ, UE์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ์กด๊ณผ๋Š” ๋‹ค๋ฅด๋ฏ€๋กœ ์žฌ์ •์˜ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๋ณ€์ˆ˜๋Š” ์นด๋ฉœ ๋ฐ ํ—๊ฐ€๋ฆฌ์•ˆ ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ

    int camelCase;
    std::string strHungarianCase;
    
  • ํ•จ์ˆ˜๋Š” ํŒŒ์Šค์นผ ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ

    void PascalCase() { }
    
  • ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, enum์— ํŒŒ์Šค์นผ ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ

    class MyClass {
    public:
      void MyFunction();
    
    protected:
      int32 MyValue;
    }
    
  • ์˜ˆ์™ธ : HUD๋“ฑ ๋ณ€์ˆ˜๋ช…์„ ๊ฐ•์ œํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ์นด๋ฉœ ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ

    btnSomething
    imgSomething
    // etc
    
  • ๋งคํฌ๋กœ ๋ฐ enum์€ ๋Œ€๋ฌธ์ž์™€ ์–ธ๋”๋ฐ”(_) ์‚ฌ์šฉ

    #define THIS_IS_MACRO 1234;
    enum COLOR {
        COLOR_BLACK,
        COLOR_WHITE
    };
    
  • ๋งคํฌ๋กœ๋Š” ๋Œ€๋ฌธ์ž์™€ ์–ธ๋”๋ฐ”(_) ์‚ฌ์šฉ

    #define THIS_IS_MACRO 1234;
    
  • ํ•œ ์ค„ ์งœ๋ฆฌ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ์—๋„ ์ค‘๊ด„ํ˜ธ ์‚ฌ์šฉํ•˜๊ธฐ

    if(isValid) {
        // Logic
    }
    for(auto i : arr) {
        // Logic
    }
    
  • ํ•จ์ˆ˜ ์‹œ์ž‘ ์ค‘๊ด„ํ˜ธ๋Š” ๋ถ™์—ฌ์„œ ์‚ฌ์šฉ

    int main() {
        // Logic
        return 0;
    }
    
  • C++ํŒŒ์ผ ์™ธ์˜ ํŒŒ์ผ์—๋Š” ์ ‘๋‘์‚ฌ ์‚ฌ์šฉ

    • Blueprint = BP
    • Static Mesh = SM
    • Sound Effect = SE
    • ์˜ˆ์™ธ : Level (์ ‘๋‘์‚ฌ ์—†์Œ)
    • ๊ทธ ์™ธ : ์ƒ์˜ ํ›„ ๊ฒฐ์ •
  • ํŒŒ์ผ๋ช…์—๋Š” ํŒŒ์Šค์นผ ํ‘œ๊ธฐ๋ฒ• ์‚ฌ์šฉ

    • ex) BP_Camera
    • ex) SM_StationCircleInner
    • ex) TinyMetroSeoul (Level)
  • ๋ธŒ๋žœ์น˜ ์ปจ๋ฒค์…˜

    • master : ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „
    • develop : ๊ฐœ๋ฐœ ์™„๋ฃŒ๋œ ๊ธฐ๋Šฅ๋“ค์„ ๋จธ์ง€ํ•ด๋‘˜ ๋ธŒ๋žœ์น˜
    • feature : ๊ฐœ๋ฐœ์ค‘์ธ feature๋ฅผ ๋‚˜๋ˆŒ ๋ธŒ๋žœ์น˜
      • feature/{feature_name}/#{issue_number}์˜ ํ˜•ํƒœ๋กœ ๋ถ„๋ฆฌ
    • develop-{Feature}: ๊ฐœ๋ฐœ์ค‘์ธ feature๋ฅผ ๋‚˜๋ˆŒ ๋ธŒ๋žœ์น˜
      • develop์—์„œ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ, develop-{Feature Name}์˜ ํ˜•ํƒœ๋กœ ์ž‘์„ฑ
      • {Feature Name}์€ ๋Œ€๋ฌธ์ž์™€ ์–ธ๋”๋ฐ”(_)๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
        • ex)develop-GridManager