Team Rule - codestates/slow-postbox GitHub Wiki

Team Rule

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

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

  1. ํƒ€์ž… ์ฒซ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ์ ์–ด์ฃผ์„ธ์š”.
  2. ํƒ€์ž…์€ ๋ช…๋ น์–ด๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ œ๋ชฉ๊ณผ ๋ณธ๋ฌธ์„ ํ•œ ์ค„ ๋„์›Œ ๋ถ„๋ฆฌํ•ด ์ฃผ์„ธ์š”.
  4. ์ œ๋ชฉ์€ 50์ž ์ด๋‚ด๋กœ ์ ์–ด์ฃผ์„ธ์š”.
  5. ์ œ๋ชฉ์€ ๋ช…์‚ฌํ˜•์œผ๋กœ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.
  6. ์ œ๋ชฉ ๋์— . ๋Š” ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  7. ๋ณธ๋ฌธ์€ 50์ž๋งˆ๋‹ค ์ค„์„ ๋ฐ”๊ฟ”์ฃผ์„ธ์š”.
  8. ๋ณธ๋ฌธ์€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ๋ณด๋‹ค ๋ฌด์—‡์„ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€, ์™œ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ์— ๋งž์ถ”์–ด ์ž‘์„ฑํ•˜์„ธ์š”.
  • ์˜ˆ์‹œ
$ <type>: <subject> -- ํ—ค๋”
<BLANK LINE> -- ๋นˆ ์ค„
<body> -- ๋ณธ๋ฌธ 
<BLANK LINE> -- ๋นˆ ์ค„ 
<footer> -- ๋ฐ”๋‹ฅ ๊ธ€
//type ์˜ˆ์‹œ
Feat: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ 
Fix: ๋ฒ„๊ทธ๋ฅผ ๊ณ ์นœ ๊ฒฝ์šฐ 
Design: CSS ๋“ฑ ์‚ฌ์šฉ์ž UI ๋””์ž์ธ ๋ณ€๊ฒฝ 
!BREAKING CHANGE: ์ปค๋‹ค๋ž€ API ๋ณ€๊ฒฝ์˜ ๊ฒฝ์šฐ 
!HOTFIX: ๊ธ‰ํ•˜๊ฒŒ ์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋ฅผ ๊ณ ์ณ์•ผํ•˜๋Š” ๊ฒฝ์šฐ 
Style: ์ฝ”๋“œ ํฌ๋งท ๋ณ€๊ฒฝ, ์„ธ๋ฏธ ์ฝœ๋ก  ๋ˆ„๋ฝ, ์ฝ”๋“œ ์ˆ˜์ •์ด ์—†๋Š” ๊ฒฝ์šฐ 
Refactor: ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง 
Comment: ํ•„์š”ํ•œ ์ฃผ์„ ์ถ”๊ฐ€ ๋ฐ ๋ณ€๊ฒฝ 
Docs: ๋ฌธ์„œ๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ 
Test: ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€, ํ…Œ์ŠคํŠธ ๋ฆฌํŒฉํ† ๋ง(ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X) 
Chore: ๋นŒ๋“œ ํƒœ์ŠคํŠธ ์—…๋ฐ์ดํŠธ, ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ(ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ ๋ณ€๊ฒฝ X) 
Rename: ํŒŒ์ผ ํ˜น์€ ํด๋”๋ช…์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์˜ฎ๊ธฐ๋Š” ์ž‘์—…๋งŒ์ธ ๊ฒฝ์šฐ 
Remove: ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ์ž‘์—…๋งŒ ์ˆ˜ํ–‰ํ•œ ๊ฒฝ์šฐ
Feat: ๊ด€์‹ฌ์ง€์—ญ ์•Œ๋ฆผ ON/OFF ๊ธฐ๋Šฅ ์ถ”๊ฐ€(#123)

์‹œ๊ตฐ๊ตฌ์˜ ์•Œ๋ฆผ์„ ๊ฐ๊ฐ ON/OFF ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•จ

opnion0055: ๊ตฌ๋ถ„ ์ฝ”๋“œ ํ•ด๊ฒฐ: #123

Lint ๊ทœ์น™

  • semistandard ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ฃผ์š”๊ทœ์น™
  • space๋Š” ๋‘ ์นธ, ํƒญ ์‚ฌ์šฉ x
  • ์˜ค์ง single quote๋งŒ ์‚ฌ์šฉ, ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด์€ ํ‘œํ˜„์‹ ์‚ฌ์šฉํ• ๋•Œ๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • var ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ํ‚ค์›Œ๋“œ ๋‹ค์Œ์—” ์ŠคํŽ˜์ด์Šค ํ•˜๋‚˜๋ฅผ ๋„์›Œ์ฃผ์„ธ์š”.
  • ์ฐธ๊ณ ๋งํฌ(https://standardjs.com/rules.html)

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

์ข…๋ฅ˜ ์‚ฌ์šฉํŒจํ„ด ํŠน์ง•
main main ํ”„๋กœ๋•์…˜ ์Šค๋ƒ…์ƒท
๊ฐ€์žฅ ์ตœ์‹ ์˜ ๋ฐฐํฌ๋œ ๋ฒ„์ „
dev dev ๋ฆด๋ฆฌ์ฆˆ ๊ณ„ํš์— ๋”ฐ๋ผ์„œ Github์—์„œ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜๋กœ ์ง€์ •
feature feature/์ด๋ฆ„
feature/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) feature/login -> dev

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

Issue ํ˜•์‹

  • Issue ์ œ๋ชฉ
[title] / body
### 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: v14.17.6
  • npm: v6.14.15

ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ๊ทœ์น™

  • ํŒ€์›๋“ค๊ฐ„ ์กด๋Œ“๋ง์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ƒํ˜ธ ์กด์ค‘ํ•˜๋Š” ๋งˆ์ธ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์— ์ตœ์„ ์„ ๋‹คํ•œ๋‹ค.
  • ์˜๊ฒฌ์ด ๋‚˜๋ˆ ์งˆ ๊ฒฝ์šฐ ๋‹ค์ˆ˜๊ฒฐ๋กœ ๊ฒฐ์ •ํ•˜๋ฉฐ, 2:2๋กœ ๋‚˜๋‰œ ๊ฒฝ์šฐ ์•„๋ž˜์˜ ๊ทœ์น™๋Œ€๋กœ ์˜์‚ฌ๊ฒฐ์ •ํ•œ๋‹ค.
    • ์ถฉ๋ถ„ํ•œ ์˜์‚ฌ์†Œํ†ต์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์— ๋” ์ ํ•ฉํ•œ ์˜๊ฒฌ์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค.
    • ์˜๊ฒฌ์ด ๋‚˜๋‰˜๋Š” ๊ด€๋ จ ํŒŒํŠธ์˜ ๋‹ด๋‹น ํŒ€์›์˜ ์˜๊ฒฌ์œผ๋กœ ๊ฒฐ์ •ํ•˜๋˜, ๋‹ค๋ฅธ ํŒ€์›์˜ ์˜๊ฒฌ ์ค‘ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์€ ์ฑ„ํƒํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค.
  • ๋ฏธ๋ฆฌ ์•ฝ์†ํ•œ ํšŒ์˜ ์‹œ๊ฐ„์„ ์ง€ํ‚ค์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์ง€๊ฐ๋น„ 10๋ถ„ ๋‹น 3000์›์„ ํŒ€์›์„ ์œ„ํ•ด ๊ธฐ์œ ๋งˆ์Œ์œผ๋กœ ๊ธฐ๋ถ€ํ•œ๋‹ค. (์คŒ ์ ‘์†ํ•œ ์‹œ๊ฐ„ ๊ธฐ์ค€)
  • ์ •๊ทœํšŒ์˜ ์‹œ๊ฐ„:
    • ํ‰์ผ ์˜ค์ „ 10:00~10:30(ํ˜„์žฌ ์ง„ํ–‰์ƒํ™ฉ, ์˜ค๋Š˜ ์ฒ˜๋ฆฌํ•  task ๋“ฑ ๋ธŒ๋ฆฌํ•‘)
    • ํ‰์ผ ์˜คํ›„ 17:00~18:00(์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ PR Merge, KPT ํšŒ๊ณ ๋ก ์ž‘์„ฑ)
โš ๏ธ **GitHub.com Fallback** โš ๏ธ