๐Ÿ‘จโ€๐Ÿ’ปย Code

  1. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋„ค์ด๋ฐ์€ย ๋ˆ„๊ตฌ๋‚˜ ์•Œ ์ˆ˜ ์žˆ๋Š” ์‰ฌ์šด ๋‹จ์–ด๋ฅผ ์„ ํƒํ•œ๋‹ค.

  2. ๋ณ€์ˆ˜๋Š” CamelCase๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ํ•œ๋‹ค.

  3. URL, ํŒŒ์ผ๋ช… ๋“ฑ์€ kebab-case๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

  4. ํŒจํ‚ค์ง€๋ช…์€ ๋‹จ์–ด๊ฐ€ ๋‹ฌ๋ผ์ง€๋”๋ผ๋„ ๋ฌด์กฐ๊ฑด ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹จ์–ด๋ณ„ ๊ตฌ๋ถ„์„ ์œ„ํ•ด ์–ธ๋”์Šค์ฝ”์–ด '_' ๋‚˜ ๋Œ€๋ฌธ์ž๋ฅผ ์„ž์ง€ ์•Š๋Š”๋‹ค.

  5. ENUM์ด๋‚˜ ์ƒ์ˆ˜๋Š” ๋Œ€๋ฌธ์ž๋กœ ๋„ค์ด๋ฐํ•œ๋‹ค.

  6. ์ปดํฌ๋„ŒํŠธ ๋ช…์€ย ๋ช…์‚ฌ๋กœ ์ž‘์„ฑํ•˜๊ณ  PascalCase๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  7. ํ•จ์ˆ˜๋ช…์€ ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๊ณ ย ๋™์‚ฌ๋กœ ๋„ค์ด๋ฐํ•œ๋‹ค.

  8. ์ด์ค‘์ ์ธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š” ๋‹จ์–ด๋Š” ์ง€์–‘ํ•œ๋‹ค.

  9. ๊ฐ์ฒด ์ด๋ฆ„์„ ํ•จ์ˆ˜ ์ด๋ฆ„์— ์ค‘๋ณตํ•ด์„œ ๋„ฃ์ง€ ์•Š๋Š”๋‹ค.

  10. ์˜๋„๊ฐ€ ๋“œ๋Ÿฌ๋‚œ๋‹ค๋ฉด ๋˜๋„๋ก ์งง์€ ์ด๋ฆ„์„ ์„ ํƒํ•œ๋‹ค.

  11. ํƒ€์ž… ์ •์˜ ์‹œ Interface๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , ํ•„์š”์— ๋”ฐ๋ผ Type์„ ๊ณ ๋ คํ•œ๋‹ค.

  12. Interface ๋ช…๋ช…์€ UpperCamelCase๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ง๊ด€์ ์ธ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค.

    interface User {
      id: number;
      name: string;
      email: string;
    }
    
  13. Type๋ช…๋ช…์€ UpperCamelCase๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์˜๋ฏธ๊ฐ€ ๋ช…ํ™•ํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ‘จโ€๐Ÿ’ป Github Flow

  1. main ๋ธŒ๋žœ์น˜๊ฐ€ ํ•ญ์ƒ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ƒˆ๋กœ์šด ์ž‘์—…์„ ์‹œ์ž‘ํ•  ๋•Œ๋Š” main ๋ธŒ๋žœ์น˜์—์„œ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ƒ์„ฑ๋œ ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ , ์ •๊ธฐ์ ์œผ๋กœ commitํ•ฉ๋‹ˆ๋‹ค.
  4. ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด, main ๋ธŒ๋žœ์น˜๋กœ Pull Request๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. ์˜คํ›„ 1์‹œ 30๋ถ„์— PR์„ ๋ฆฌ๋ทฐํ•˜๋ฉฐ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ์„ ์‹œ ์ˆ˜์ •ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•ฉ๋‹ˆ๋‹ค.