Skip to content

Team Rule

jyang edited this page Jan 28, 2022 · 11 revisions

๋ชฉ์ฐจ

ํŒ€ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ฃฐ


1. ์‹ ๋ฐ๋ ๋ผ ๊ทœ์น™ : ํŠน์ด์‚ฌํ•ญ์ด ์—†๋Š” ์ด์ƒ ์ž์ • ์ดํ›„์—” ๊ฒŒ๋”์— ๋ชจ์ด์ง€ ์•Š๋„๋ก ํ•œ๋‹ค.
2. ์ฝ”๋“œ ๋ฆฌ๋ทฐ(merge) ํƒ€์ž„์„ ํŠน๋ณ„ํžˆ ๊ฐ€์ง€์ง€๋Š” ์•Š๋˜, merge๋ฅผ ํ•  ๋•Œ ๋˜๋„๋ก์ด๋ฉด ์ฝ”๋“œ ์ง„ํ–‰ ์ƒํ™ฉ ํŒŒ์•…์„ ์œ„ํ•ด ํŒ€์› ๋ชจ๋‘๊ฐ€ ๊ฐ™์ด ํ•œ๋‹ค.
   ๋‹จ, ํ”„๋กœ์ ํŠธ์— ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๋Š” ๋‚ด์šฉ์˜ PR์š”์ฒญ์€ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ ๊ฐ๊ฐ ์ง„ํ–‰ํ•œ๋‹ค. 
   merge๋Š” ์ตœ์šฐ์„  ์‚ฌํ•ญ์œผ๋กœ ์‚ผ์•„์„œ ์•ต๊ฐ„ํ•˜๋ฉด ๋จธ์ง€๋ฅผ ํ•˜๋„๋ก ํ•œ๋‹ค.
3. ์ ์‹ฌ์‹œ๊ฐ„ 12์‹œ ~1์‹œ ์ €๋…์‹œ๊ฐ„์€ 6์‹œ๋ถ€ํ„ฐ 7์‹œ. 7์‹œ์—์„œ 8์‹œ๊นŒ์ง„ ๊ฐœ์ธ ์ •๋น„ ์‹œ๊ฐ„.
4. ์งˆ๋ฌธ ์ž˜ ๋ฐ›์•„์ฃผ๊ธฐ. ๋ชจ๋ฅธ๋‹ค๋Š” ๋ง์„ ๋ฌด์„œ์›Œํ•˜์ง€ ์•Š๊ณ  ๊ถ๊ธˆํ•˜๋ฉด ์žˆ์œผ๋ฉด ๊ถ๊ธˆํ•œ ์ ์„ ๋ช…ํ™•ํžˆ ํ•˜์—ฌ ๋ฌผ์–ด๋ณด๊ธฐ.
5. ๋ชจ๋‹์ฝœ ์‹œ์Šคํ…œ. 9์‹œ์— ์•ˆ ์˜ค์‹œ๋ฉด ํŒ€์›์ด ๋””์Šค์ฝ”๋“œ ์ „ํ™”ํ•˜๊ธฐ.
6. ํŠน์ด ์‚ฌํ•ญ ์—†์ด๋Š” ์•„์นจ 10์‹œ ์ดํ›„๋ก  ์นด๋ฉ”๋ผ๋ฅผ ๋„๋Š” ํ–‰์œ„ ๊ธˆ์ง€
7. ์ฃผ๋ง์€ 1์‹œ ํšŒ์˜, ์ดํ›„ ์ผ์š”์ผ๊นŒ์ง€ ์ž์œ  ํ–‰๋™.(๋‹จ ์›”์š”์ผ์— ์ˆ™์ œ ์ง€์ฐธํ•ด์„œ ์™€์•ผํ•จ) 
8. ํŒ€์ ์ธ ์ฝœ์ด ๋“ค์–ด์˜ค๋ฉด ํ•ฉ๋‹นํ•œ ์ด์œ ๊ฐ€ ์—†๋Š” ํ•œ ์ฝœ์„ ์ตœ์šฐ์„ ํ•œ๋‹ค. ๊ฐœ์ธ ์ฝ”๋“œ ์ž‘์„ฑ์€ ํ•ฉ๋‹นํ•œ ์ด์œ ์— ์†ํ•˜์ง€ ์•Š๋Š”๋‹ค.
9. ํŒ€ํšŒ์˜๋Š” ๋ˆ„๊ตฌ๋‚˜ ์–ธ์ œ๋“  ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋ง ์ œ์™ธ.

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๊ทœ์น™


์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋Š” ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ง‘๋‹ˆ๋‹ค.
ํ•œ ์ค„๋งŒ ์ž‘์„ฑํ•ด๋„ ์„ค๋ช…์ด ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด ์ œ๋ชฉ๋งŒ์œผ๋กœ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ์–ด๋–ค ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ๋Š”์ง€ ๋งฅ๋ฝ๊ณผ ์„ค๋ช…์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๋ณธ๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ์€ ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ๊ทœ์น™์ž…๋‹ˆ๋‹ค.


1. ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ํ•œ ์ค„ ๋„์›Œ ๋ถ„๋ฆฌํ•ด ์ฃผ์„ธ์š”.
2. ์ œ๋ชฉ์€ ์˜๋ฌธ ๊ธฐ์ค€ 50์ž ์ด๋‚ด์˜ ์†Œ๋ฌธ์ž๋กœ ์ ์–ด์ฃผ์„ธ์š”.
3. ์ œ๋ชฉ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด "๋ฌด์—‡"์ธ์ง€ ๋ช…ํ™•ํžˆ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.
4. ์ œ๋ชฉ ๋์— . ๋Š” ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. 
5. ์ œ๋ชฉ์€ ๋ช…๋ น์–ด๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
6. ๋ณธ๋ฌธ์€ 3์ค„ ์ด๋‚ด, ํ•œ ์ค„์€ 50์ž ์ด๋‚ด๋กœ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”. ์—ฌ๋Ÿฌ ์ค„์˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋Š”, ๋งจ ์•ž์— "-"๋ฅผ ๋ถ™ํ˜€์ฃผ์„ธ์š”.
7. ๋ณธ๋ฌธ์€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ๋ณด๋‹ค ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€, ์™œ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ์— ๋งž์ถ”์–ด ์ž‘์„ฑํ•˜์„ธ์š”.
8. ๊ผฌ๋ฆฟ๋ง(footer)์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ๊ฐ€์žฅ ์•„๋žซ์ค„์— ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.(ํ˜„์žฌ ์ปค๋ฐ‹๊ณผ ๊ด€๋ จ๋œ ์ด์Šˆ ๋ฒˆํ˜ธ ์ถ”๊ฐ€ ๋“ฑ)

  • ์˜ˆ์‹œ


#์ œ๋ชฉ ์˜ˆ์‹œ
feat: add get data api function

#๋ณธ๋ฌธ ์˜ˆ์‹œ
- a ๋ฒ„ํŠผ์˜ ๋งํฌ๊ฐ€ ์ž˜๋ชป ๊ฑธ๋ ค ์žˆ์–ด์„œ ์ˆ˜์ •

#๊ผฌ๋ฆฟ๋ง ์˜ˆ์‹œ
resolves #7


Lint ๊ทœ์น™


  • semistandard ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
  • eslint-config-standardard ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•œ semistandard


๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ํ˜•์‹


์ข…๋ฅ˜ ์‚ฌ์šฉํŒจํ„ด ํŠน์ง•
main main ํ”„๋กœ๋•์…˜ ์Šค๋ƒ…์ƒท
๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐฐํฌ๋œ ๋ฒ„์ „
dev dev ๋ฆด๋ฆฌ์ฆˆ ๊ณ„ํš์— ๋”ฐ๋ผ์„œ
Github์—์„œ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋กœ ์ง€์ •
feature feature/์ด์Šˆ๋ฒˆํ˜ธ-์ด๋ฆ„
feature/1-branch-name
dev์— ๋ณ‘ํ•ฉ
hotfix hotfix/์ด์Šˆ๋ฒˆํ˜ธ
hotfix/#911
๋ฉ”์ธ์— ๋ณ‘ํ•ฉ


PR ํ˜•์‹


  • ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ž˜ ์ง€์ผœ์ฃผ์„ธ์š”.
    ์ปจ๋ฒค์…˜ ์˜ค๋ฅ˜๋กœ ์ธํ•œ ๋ถˆํ•„์š”ํ•œ ์ฝ”๋ฉ˜ํŠธ๋Š” ์‹œ๊ฐ„ ๋‚ญ๋น„์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€์–‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ๋ทฐ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ž˜ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.
    ๋ชจ๋“  ์ฝ”๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์—๋Š” ์˜๋„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    ์˜๋„์น˜ ์•Š๊ฒŒ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋˜๋Œ๋ ค ๋†“์•„์•ผ ํ•˜๊ณ , ์ค„๋ฐ”๊ฟˆ๊ณผ ๊ฐ™์ด ์•„์ฃผ ๋‹จ์ˆœํ•œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด๋ผ๋„
    ๊ทธ ๋ถ€๋ถ„์„ ๋ฆฌ๋ทฐ์–ด๊ฐ€ ๋ณผ ํ•„์š”๊ฐ€ ์—†๋‹ค๋ฉด โ€œJust line changeโ€ ์™€ ๊ฐ™์€ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‹ฌ์•„ ๋ช…์‹œํ•˜๋ฉด ๋ฆฌ๋ทฐ ์‹œ๊ฐ„์„ ์ค„์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ๋˜๋Š” ์‚ฌ์šฉ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋ฐ์ดํŠธ๊ฐ€ ํฌํ•จ๋˜์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ ๋งํฌ๋‚˜ ์Šคํฌ๋ฆฐ์ƒท์„ ์ฒจ๋ถ€ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • ์ž‘์—…์ค‘, ๋ฆฌ๋ทฐ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ์ž˜ ๋ช…์‹œํ•ด ์ฃผ์„ธ์š”.
    ์•„์ง ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ์ค‘์ผ ๋•Œ์—๋Š” [WiP] (Work in Progress) ๋ฅผ ํƒ€์ดํ‹€ ์•ž์— ์ถ”๊ฐ€ํ•˜๊ณ ,
    ๋งŒ์•ฝ ์ž‘์—…์ด ๋๋‚ฌ์œผ๋ฉด ์ด๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  review-needed ํƒœ๊ทธ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ํ•œ ๋ฒˆ ์ž‘์—…์„ ๋งˆ์ณค๋‹ค๊ณ  ๋๋‚œ ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ์ค‘์—๋„ ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ๋ช…์‹œํ•ด ์ฃผ์„ธ์š”.


  • PR ์ œ๋ชฉ


  [Client] / #88 / edit: readme

  • PR ๋ณธ๋ฌธ


### PR ํƒ€์ž…(ํ•˜๋‚˜ ์ด์ƒ์˜ PR ํƒ€์ž…์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”)
-[] ๊ธฐ๋Šฅ ์ถ”๊ฐ€
-[] ๊ธฐ๋Šฅ ์‚ญ์ œ
-[] ๋ฒ„๊ทธ ์ˆ˜์ •
-[] ์˜์กด์„ฑ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ๋นŒ๋“œ ๊ด€๋ จ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ

### ๋ฐ˜์˜ ๋ธŒ๋žœ์น˜
ex) feat/login -> dev

### ๋ณ€๊ฒฝ ์‚ฌํ•ญ
ex) ๋กœ๊ทธ์ธ ์‹œ, ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

### ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ
ex) ๋ฒ ์ด์Šค ๋ธŒ๋žœ์น˜์— ํฌํ•จ๋˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋Š” ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋ฌผ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฐ์ƒท, GIF, ํ˜น์€ ๋ผ์ด๋ธŒ ๋ฐ๋ชจ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋„๋ก ์ƒ˜ํ”ŒAPI๋ฅผ ์ฒจ๋ถ€ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.


Issue ํ˜•์‹


  • Issue ์ œ๋ชฉ


[title] / body

  • Issue ๋ณธ๋ฌธ



### Issue ํƒ€์ž…(ํ•˜๋‚˜ ์ด์ƒ์˜ Issue ํƒ€์ž…์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”)
-[] ๊ธฐ๋Šฅ ์ถ”๊ฐ€
-[] ๊ธฐ๋Šฅ ์‚ญ์ œ
-[] ๋ฒ„๊ทธ ์ˆ˜์ •
-[] ์˜์กด์„ฑ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ๋นŒ๋“œ ๊ด€๋ จ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ

### ์ƒ์„ธ ๋‚ด์šฉ
ex) Github ์†Œ์…œ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

### ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„
-[] `0.5h`
-[] `1h`
-[] `1.5h`
-[] `2h`
-[] `2.5h`
-[] `3h`

### ๋ผ๋ฒจ
- ์˜ˆ์ƒ ์†Œ์š” ์‹œ๊ฐ„: `E: 1h`
- ๊ทธ๋ฃน: `client`, `server`
- ๊ธด๊ธ‰๋„: `High`, `Middle`, `Low`


๋ณ€์ˆ˜ ์ด๋ฆ„ - Camel-case


  • clientLogin



ํŒŒ์ผ, ํด๋” & ์ƒ์„ฑ์ž ์ด๋ฆ„ - pascal-case


  • ClientSide



node & npm ๋ฒ„์ „ ํ†ต์ผ


  • Node v16.10.0

  • NPM v7.24.0