Coding Convention - Likelion-lucky7/DECO GitHub Wiki

Airbnb code convention style์„ ์ฃผ๋กœ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณ€์ˆ˜(ํ•จ์ˆ˜) ๋ช…์— ๋Œ€ํ•œ Naming Convention

  • ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ์ธ์Šคํ„ด์Šค
    ๋ณ€์ˆ˜, ํ•จ์ˆ˜, ์ธ์Šคํ„ด์Šค๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋Š” *Camel Case(์นด๋ฉœ ์ผ€์ด์Šค)*๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ex) camelCase

  • ํ•จ์ˆ˜๋ช… ์ž‘์„ฑ
    ํ•จ์ˆ˜๋ช…์„ ์ž‘์„ฑํ•  ๋•Œ๋Š” ๋™์‚ฌ+๋ช…์‚ฌ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ex) getUserInfomation()

  • ๊ธ€์ž์˜ ๊ธธ์ด
    ๊ธ€์ž์˜ ๊ธธ์ด๋Š” 20์ž ์ด๋‚ด๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. 4 ๋‹จ์–ด ์ด์ƒ์ด ๋“ค์–ด๊ฐ€๊ฑฐ๋‚˜, ๋ถ€๋“์ดํ•˜๊ฒŒ 20์ž ์ด์ƒ์ด ๋˜๋Š” ๊ฒฝ์šฐ ํŒ€์›๊ณผ์˜ ์ƒ์˜๋ฅผ ๊ฑฐ์นฉ์‹œ๋‹ค.

  • Flag๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜
    ํ”Œ๋ž˜๊ทธ(Flag)๋ž€ '๊นƒ๋ฐœ'์ด๋ž€ ์˜๋ฏธ์ด์ง€๋งŒ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” '์ƒํƒœ๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ์ฒ˜๋ฆฌ ํ๋ฆ„์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ boolean ๋ณ€์ˆ˜'๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Boolean์˜ ๊ฒฝ์šฐ ์กฐ๋™์‚ฌ+flag ์ข…๋ฅ˜๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ex) isNum, hasNum

  • ์•ฝ์นญ์˜ ์‚ฌ์šฉ
    ์•ฝ์–ด๋Š” ๋˜๋„๋ก ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ถ€๋“์ดํ•˜๊ฒŒ ์•ฝ์–ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ ํŒ€์›๊ณผ์˜ ์ƒ์˜๋ฅผ ๊ฑฐ์ณ๋ด…์‹œ๋‹ค.

  • ๋ฌธ์ž์—ด ์„ ์–ธ์—๋Š” ํ™‘๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์ตœ๋Œ€ tab depth์˜ ์ œํ•œ

  • tab์˜ ์ตœ๋Œ€ depth๋Š” 4๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ด ์ด์ƒ์œผ๋กœ depth๊ฐ€ ๊นŠ์–ด์ง€๋ฉด ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ด์ƒ์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํŒ๋‹จ๋˜๋Š” ๊ฒฝ์šฐ, ํŒ€์›๋“ค๊ณผ์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
function func () {
  //tab1
  if() {
    //tab2
    array.reduce((pre, cur) => {
      //tab3
      if(cur == status) {
        //tab4
       }
     }
   }
 }

์ฃผ์„ ๊ทœ์น™

ํ•œ์ค„์€ //๋กœ ์ ๊ณ , ๊ทธ ์ด์ƒ์€ /** */๋กœ ์ฃผ์„์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

// ํ•œ ์ค„ ์ฃผ์„์ผ ๋•Œ
/**
* ์—ฌ๋Ÿฌ์ค„
* ์ฃผ์„์ผ ๋•Œ
*/

bracket({}) ๊ทœ์น™

  • if๋ฌธ, for๋ฌธ while๋ฌธ์˜ ์ค‘๊ด„ํ˜ธ๋Š” ์—ฌ๋Ÿฌ ์ค„๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
if(trigger) {
  return;
}

๋น„๋™๊ธฐ ํ•จ์ˆ˜์˜ ์‚ฌ์šฉ

  • Promiseํ•จ์ˆ˜์˜ ์‚ฌ์šฉ์€ ์ง€์–‘ํ•˜๊ณ  async, await๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋กœ์ง์„ ์งœ๋Š” ๋ฐ ์žˆ์–ด promise๋ฅผ ๋ถˆ๊ฐ€ํ”ผํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, ์ฃผ์„์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  commit์— ๊ทธ ์ด์œ ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

File Naming

  • Component์ผ ๋•Œ๋Š” Pascal Case๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ ์™ธ์—๋Š” Camel Case ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Branch Naming

  • ๋ธŒ๋žœ์น˜๋ช… ๋์— #์ด์Šˆ๋ฒˆํ˜ธ ๋ถ™์ด๊ธฐ
    ex) branch#1
  • ๋ธŒ๋žœ์น˜๋ช… ๋‹จ์–ด ๊ตฌ๋ถ„์€ -๋กœ
    ex) branch-for-check#1

Others

  • ํ•จ์ˆ˜ํ˜• Component๋งŒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ€๋Šฅํ•œ ํ•œ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น ์‚ฌ์šฉํ•˜๊ธฐ
โš ๏ธ **GitHub.com Fallback** โš ๏ธ