Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Git

[Github] Github๋กœ ํ˜‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ• - repo ์ƒ์„ฑ ์‹œ ํ•  ์ผ (feat. ๋‘๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ )

๊ฐ์ž ๐Ÿฅ” 2022. 6. 21. 15:50
๋ฐ˜์‘ํ˜•

 

 

์• ํ”Œ ๋””๋ฒจ๋กœํผ ์•„์นด๋ฐ๋ฏธ์—์„œ ์ง„ํ–‰ํ•œ ๋‘๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋์ด๋‚ฌ๋‹ค. ๋‘๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ๋Š”, ์ •๋ง ๋Š๋‚€๊ฒŒ ๋งŽ์€ ํ”„๋กœ์ ํŠธ์˜€๋‹ค. ์–ด์ฉŒ๋‹ค๊ฐ€ ๋‚ด๊ฐ€ ์•ฝ๊ฐ„์˜ ๋ฆฌ๋“œ..?๋ฅผ ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๊ทธ ๊ณผ์ •์—์„œ ๋‚ด๊ฐ€ ๋ชปํ–ˆ๋˜ ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ์•ž์œผ๋กœ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ์ง€ ์ •๋ฆฌํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์•ฝ๊ฐ„,,, ๋‚˜์ค‘์— ํ˜น์‹œ ๋˜ ๋‚ด๊ฐ€ github ๊ด€๋ฆฌ๋ฅผ ๋งก๊ฒŒ ๋˜์—ˆ์„๋•Œ, ๋บด๋จน์ง€ ์•Š๊ณ  ๋ชจ๋“ ๊ฒƒ์„ ํ–ˆ๋‚˜? ํ•˜๋Š” ์ฒดํฌ๋ฆฌ์ŠคํŠธ!๋กœ ํ™œ์šฉ๋  ํฌ์ŠคํŒ…์ด๋‹ค.

 

๐Ÿš€ Github Repo ์ƒ์„ฑํ•˜๊ธฐ

์ง„์งœ ์–ด์ฉŒ๋‹ค๊ฐ€ ์•ฑ๊ฐœ๋ฐœ 2๊ฐœ์›”์ฐจ์ธ ๋‚ด๊ฐ€ ๋ฆฌ๋“œ๋ฅผ ๋งก๊ฒŒ ๋˜์–ด์„œ, Team repo ๊ด€๋ฆฌ๋„ ์–ด์ฉŒ๋‹ค๊ฐ€! ๋‚ด๊ฐ€ ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. Git์„ ์ด๋ ‡๊ฒŒ ์ œ๋Œ€๋กœ ์ฒ˜์Œ ๋‹ค๋ค„๋ณด๋Š” ๊ฒƒ์€ ์ฒ˜์Œ์ด๋ผ ๊ฒ๋‚˜๊ธฐ๋„ ํ–ˆ๋‹ค. ์•„๋‹ˆ๋‚˜ ๋‹ค๋ฅผ๊นŒ ์—ญ์‹œ๋‚˜ ์ฒซ ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋‚ด๊ฐ€ ์‹ค์ˆ˜๋ฅผ ์ €์งˆ๋ €๋‹ค.

์ด๋ฒˆ์— ๋‚ด๊ฐ€ ์‹ค์ˆ˜ํ–ˆ๋˜ ๋ถ€๋ถ„์€ ๋ฐ”๋กœ repo ์ƒ์„ฑ ๋‹จ๊ณ„์—์„œ .gitignore ์„ ์ƒ์„ฑํ•  ๋•Œ๋‹ค. โ–ถ ๋ฌด์Šจ ์ผ์ด ์žˆ์—ˆ๋Š”์ง€ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

 

.gitignore์— ์–ด๋–ค ํ‚ค์›Œ๋“œ๋ฅผ ๋„ฃ์–ด์•ผ ํ• ์ง€ ๋ชฐ๋ผ์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” Swift ํ‚ค์›Œ๋“œ๋งŒ ๋„ฃ์–ด์„œ gitignore ์„ ์ƒ์„ฑํ–ˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„ ๋‚˜์ค‘์— ๋ฐ”๊ฟ”์•ผ์ง€~ ํ•˜๊ณ  ๋„˜์–ด๊ฐ”๊ธฐ๋„ํ–ˆ๋‹ค ํ›„ ,, ํ›„ํšŒ๋œ๋‹ค. gitignore ํŒŒ์ผ์„ ์ œ๋Œ€๋กœ ์ƒ์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด, ๋กœ์ปฌ์—์„œ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์•„๋„ ๋  ํŒŒ์ผ๋“ค์ด ์ „๋ถ€ ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋˜์–ด conflict๊ฐ€ ์ƒ๊ธฐ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•˜๋‹ค.

 

โœ๏ธ gitignore ๋งŒ๋“ค๊ธฐ

https://www.toptal.com/developers/gitignore

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

gitignore์€ ์œ„ ํ™ˆํŽ˜์ด์ง€์—์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ƒ์„ฑ ๊ฐ€๋Šฅํ•˜๋‹ค. ์›ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ๋„ฃ์–ด์„œ create๋ฅผ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ์ž๋™์œผ๋กœ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค. ํ•ด๋‹น ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ „๋ถ€ ๋ณต์‚ฌํ•ด์„œ .gitignoreํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ๋ฉด ๋„๋‹ˆ๋‹ค. ์ƒ์„ฑํ• ๋•Œ ํ•„์š”ํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ์ž˜ ์ตํ˜€๋‘์ž. 

< iOS project gitignore ์ถ”์ฒœ ํ‚ค์›Œ๋“œ >

  • swift
  • xcode
  • cocoapods
  • Objective-C (์•ˆ๋„ฃ์–ด๋„ ๋˜์ง€๋งŒ, ์ถ”์ฒœํ•œ๋‹ค๊ณ ํ•œ๋‹ค!)
  • MacOS ๋„ ์ถ”๊ฐ€ํ•ด์ฃผ์ž (์“ธ๋ฐ ์—†์ด ์ƒ๊ธฐ๋Š” DS_Store ์ด๋†ˆ์ž์‹์ด ์—ฌ๊ธฐ์„œ ์ƒ๊ธฐ๋Š”๊ฒƒ์ด๋‹ค!)

 

โœ๏ธ Issue Template ๋งŒ๋“ค๊ธฐ

issue๊ฐ€ ์™œ ์ค‘์š”ํ•œ์ง€ ๋ชฐ๋ž๊ณ , ์ฒซ๋ฒˆ์งธ ํ”„๋กœ์ ํŠธ์—์„œ๋„ issue ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค. ํ•˜์ง€๋งŒ,, ์ด๋ฒˆ์— ์ ˆ์‹คํ•˜๊ฒŒ ๊ทธ ํ•„์š”์„ฑ์„ ๋Š๊ผˆ๋‹ค. ๊นƒํ—ˆ๋ธŒ๋Š” ์ด์Šˆ๋ฒˆํ˜ธ๊ฐ€ #29 ์ฒ˜๋Ÿผ ์ˆซ์ž๋กœ ํ˜•์„ฑ์ด๋˜๋Š”๋ฐ, commit message ๋‚˜ code review, comment ์–ด๋””์—๋“  #๋ฒˆํ˜ธ ๋งŒ ์“ฐ๋ฉด ํ•ด๋‹น ์ด์Šˆ์™€ ์—ฐ๊ฒฐ๋œ๋‹ค. ํ˜‘์—…ํ•  ๋•Œ ๋‚ด๊ฐ€ ์–ด๋–ค ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š”์ง€, ์–ด๋–ค๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š”์ง€ ๋“ฑ ๋‚˜์˜ ์ƒํ™ฉ์„ ํŒ€์›๋“ค์—๊ฒŒ ๊ณต์œ ํ•˜๊ธฐ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ธ๊ฒƒ ๊ฐ™์•˜๋‹ค.

issue๋ฅผ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•ด๋ณด๊ณ  ์‹ถ์–ด์„œ issue ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์—ˆ๋‹ค. 

ํ•˜์ง€๋งŒ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ, Issue๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์—ˆ์ง€๋งŒ, ์š•์‹ฌ๋งŒํผ ์ž˜ ๋˜์ง€ ์•Š์•˜๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ด์Šˆ ์ƒ์„ฑ์— ๋Œ€ํ•œ ๊ทœ์น™์„ ์ •ํ•˜๊ณ  ๋„˜์–ด๊ฐ€์ง€ ์•Š์•„์„œ ์ธ ๊ฒƒ ๊ฐ™์•˜๋‹ค. 

๐Ÿ‘‰ Issue ๊ทœ์น™ ์ •ํ•˜๊ธฐ

์ด์Šˆ ๊ทœ์น™์€ ์–ด๋–ป๊ฒŒ ์ •ํ•ด์•ผํ• ๊นŒ, ์ผ๋‹จ ์šฐ๋ฆฌ ํŒ€ ์ด์Šˆ๋ฅผ ๋ณด๋ฉด ์ •๋ฆฌ๋˜์–ด์žˆ์ง€ ์•Š์€ ์ œ๋ชฉ ์Šคํƒ€์ผ, ๊ทธ๋ฆฌ๊ณ  ๋ฌด์ž๋น„ํ•œ ๋ผ๋ฒจ์‚ฌ์šฉ์ด ๋ฌธ์ œ์˜€๋‹ค. ์ง€๊ธˆ์€ ๋‚ด๊ฐ€ ์ œ๋ชฉ์„ ์ผ๊ด€๋˜๊ฒŒ ๋‹ค ์ •๋ฆฌํ•ด๋‘์—ˆ์ง€๋งŒ,,,์ผ๊ด€๋˜์ง€ ์•Š์€ ๋Š๋‚Œ์ด๋ž„๊นŒ? 

1. ์ œ๋ชฉ -์ œ๋ชฉ์€ ์•„๋ž˜ ํ‚ค์›Œ๋“œ๋กœ ํ†ต์ผํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

  • [Add] UI button ๊ตฌํ˜„
  • [Feat] UI button ์ €์žฅ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • [Bug] ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ์ƒ‰๊น” ์•ˆ๋ฐ”๋€Œ๋Š” ๋ฒ„๊ทธ
  • [Refactor] ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง
  • [Chore] setting๊ณผ ๊ด€๋ จํ•œ ๋ฌธ์ œ 

์šฐ๋ฆฌ ํŒ€์˜ ์ด์Šˆ ๋ชฉ๋ก์ด๋‹ค. ์ œ๋ชฉ์€ ์ด๋Ÿฐ์‹์œผ๋กœ ํ†ต์ผํ•ด๋†จ๋‹ค. (์ž˜ํ•œ ํŒ€์˜ ์ด์Šˆ ํƒฌํ”Œ๋ฆฟ์„ ๋ฒ ๊ผˆ๋‹น ใ…Žใ…Ž) ํ•˜์ง€๋งŒ ์–ด๋–ค๊ฑด [Bug] ์ด๊ณ , ์–ด๋–ค๊ฑด [Fix]์ด๋‹ค. ์ด๋Ÿฐ ํ‚ค์›Œ๋“œ๋ฅผ ํ†ต์ผํ•˜๋Š” ๊ทœ์น™์„ ์ •ํ–ˆ์œผ๋ฉด ๋” ๊น”๋”ํ•œ ์ œ๋ชฉํ†ต์ผ์ด ๋์„ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๊ณ ,,, ์ด๋ฒˆ์— ์žˆ๋Š” 40๊ฐœ์ •๋„์˜ ์ด์Šˆ์˜ ์ œ๋ชฉ์„ ๋ชจ๋‘ ๋‚ด๊ฐ€ ์ˆ˜์ •ํ•ด์„œ ๋ฐ”๊ฟจ๋Š”๋ฐ ์ด๋Ÿฐ ์ผ๋„ ์ƒ๊ธฐ์ง€ ์•Š๊ฒ ์ง€.

2. ๋ผ๋ฒจ - ๋ผ๋ฒจ๋„ ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž

  • View ์ด๋ฆ„
  • ํŒ€์› ์ด๋ฆ„
  • UI Design 
  • Bug
  • ํ•„์š”์‹œ chore ์ด๋‚˜ docs, setting ๋“ฑ

์šฐ๋ฆฌ ํŒ€์˜ ๋ผ๋ฒจ์€ ๋„๋Œ€์ฒด view๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ๊ฑด์ง€, ํ‚ค์›Œ๋“œ๋กœ ๋‚˜๋ˆˆ๊ฑด์ง€ ์ดํ•ด๊ฐ€ ๋˜์งˆ ์•Š๋Š”๋‹ค. (์‹ค์ œ๋กœ ๋ฉ˜ํ† ๋ถ„๊ป˜ ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ๊ฑฐ๋ƒ๊ณ  ์งˆ๋ฌธ์ด ๋“ค์–ด์˜ค๊ธฐ๋„ ํ–ˆ๋‹ค.) ListView๋Š” ์—†๋Š” ๋ทฐ์ธ๋ฐ, ๋„๋Œ€์ฒด ๋ญ๋ฉฐ,, pin์€ ๋„ฃ์€๊ฒƒ๋„ ์žˆ๊ณ  ์•ˆ๋„ฃ์€๊ฒƒ๋„์žˆ๊ณ . ์ฒด๊ณ„๊ฐ€ ์ž˜ ์žกํ˜€์žˆ์ง€ ์•Š์•˜๋‹ค. ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ๋˜ ์œ„์—์ฒ˜๋Ÿผ ๊ทœ์น™๊ณผ ๋ผ๋ฒจ์„ ๋ชจ๋‘ ์ •ํ•˜๊ณ  ์‹œ์ž‘ํ•ด์•ผ์ง€,, 

 

โœ๏ธ Branch ๊ทœ์น™ ์ •ํ•˜๊ธฐ

develop
feat/54-mainview-ui

์ฒ˜์Œ์— ๋ธŒ๋žœ์น˜ ์–ด๋–ป๊ฒŒ ํŒŒ์•ผํ• ์ง€ ๋ชฐ๋ผ์„œ ์•„๋ž˜์ฒ˜๋Ÿผ ํŒ ์—ˆ๋Š”๋ฐ, ๋…ํŠนํ•œ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์ด๋ผ๊ณ  ๊ทธ๋žฌ๋‹ค ํฌํฌํฌ ๐Ÿค“ ๊ทธ๋ž˜์„œ ๋‹ค๋“ค ๋ณดํ†ต ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๋ฐฉ์‹์ธ ์œ„ ๋ฐฉ์‹์ฒ˜๋Ÿผ ๋ฐ”๊ฟ”๋ณด์ž... ๊ทธ๋ฆฌ๊ณ  ๋ธŒ๋žœ์น˜๋Š” ๋ฐ”๋กœ๋ฐ”๋กœ ์‚ญ์ œํ•˜์ž ์ง€๊ธˆ ๋‚จ์•„์žˆ๋Š” ๋ธŒ๋žœ์น˜๋งŒ ๋ช‡๊ฐœ์•ผ ๋„๋Œ€์ฒด..

 

โœ๏ธ PR Template ๋งŒ๋“ค๊ธฐ 

์ด๋ ‡๊ฒŒ ๋ฏธ๋ฆฌ๋ฏธ๋ฆฌ PR ํƒฌํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์ž! ํ…œํ”Œ๋ฆฟ์€ setting ํƒญ์—์„œ ๋งŒ๋“ค์–ด๋„ ๋˜๊ณ , .github ํด๋” ๋‚ด ์—์„œ ๋งŒ๋“ค์–ด๋„ ๋œ๋‹ค. (ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๋ฉด ๊ฐ€์žฅ ์ƒ๋‹จ์— ๋œจ๋Š” ๊ทธ .github ํด๋”)

๋‚˜๋Š” ์ฒ˜์Œ์— ์ด์Šˆํƒฌํ”Œ๋ฆฟ๋งŒ ๋งŒ๋“ค์–ด์„œ ์•„๋ž˜์ฒ˜๋Ÿผ PR ๋‚ด์šฉ์ด ํ†ต์ผ๋˜์ง€ ์•Š๊ณ  ์ œ๊ฐ๊ฐ์ธ ์‚ฌํƒœ(?)๊ฐ€ ๋ฐœ์ƒํ–ˆ์—ˆ๋‹ค. ์ด๋Ÿฐ๊ฑธ ๋ง‰๊ณ  ๋™์ผํ•œ ํ˜•ํƒœ์˜ pr์„ ์ž‘์„ฑํ•˜๊ณ  ๋ฆฌ๋ทฐ๋ฐ›์ž!!

์˜ˆ์‹œ 1
์˜ˆ์‹œ2

 

โœ๏ธ PR ๊ทœ์น™ ๋งŒ๋“ค๊ธฐ

์šฐ๋ฆฌํŒ€์˜ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜๋Š”, ๋ฐ”๋กœ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํŒ€์›๋“ค๋ผ๋ฆฌ์˜ ์—…๋ฌด๊ณต์œ ๊ฐ€ ๋”๋””๊ณ ,,, ์ฝ”๋“œ ํ†ต์ผ์ด ์•ˆ๋œ๋‹ค๋Š” ๊ฑฐ..?

์™ธ๋กœ์šด Reviewer

๊ทธ๋ฆฌ๊ณ  ๋˜ํ•˜๋‚˜์˜ ๊ฐ€์žฅํฐ ๋ฌธ์ œ๋Š”, pr ์„ ์˜ฌ๋ฆฌ๊ณ , ๋ฆฌ๋ทฐ๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์•„ merge๋˜๋Š” ์†๋„๊ฐ€ ๋Š๋ ธ๋‹ค. ๊ทธ๋ž˜์„œ,, ํ•œ๋ฒˆ์— pr 10๊ฐœ์ •๋„๊ฐ€ open ๋˜์–ด์ž‡์—ˆ๊ณ  ๊ฒฐ๊ตญ.....์—„์ฒญ๋‚œ conflict๊ฐ€ ์ƒ๊ฒจ์„œ xcode๊ฐ€ ์•„์˜ˆ ์—ด๋ฆฌ์ง€ ์•Š๋Š” ์‚ฌํƒœ๊นŒ์ง€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์šธ๊ณ ์‹ถ์—ˆ๋‹ค ํํ‘ํ‘. ๊ทธ๋ž˜์„œ ํ˜น์‹œ ๋‹ค์Œ ํŒ€ํ”Œ๋•Œ ๋˜ ๋‚ด๊ฐ€ ,, github ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค๋ฉด ๊ผญ ํ•˜๊ณ  ์‹ถ์€๊ฒŒ pr ๊ทœ์น™ ์ •ํ•˜๋Š”๊ฒƒ์ด๋‹ค. ์•„๋ž˜์ฒ˜๋Ÿผ ์ •ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

  1. PR ์˜ฌ๋ฆฌ๋ฉด ํŒ€์›๋“ค์—๊ฒŒ ๊ณต์œ  
  2. ํ•˜๋ฃจ ๋งค์ผ๋งค์ผ ์˜ฌ๋ผ์˜จ PR์— ๋Œ€ํ•ด์„œ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋‚จ๊ธฐ๊ธฐ
  3. PR์€ open ๋˜๊ณ  36์‹œ๊ฐ„ ์ด๋‚ด๋กœ ํŒ€์› 2๋ช… ์ด์ƒ์˜ approve๋ฅผ ๋ฐ›์•„์•ผํ•˜๊ณ 
  4. 2๋ช… ์ด์ƒ์˜ approve ๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ ๋จธ์ง€ ๊ฐ€๋Šฅ!

+ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๊ทœ์น™

๋˜ ์ฝ”๋“œ๋ฆฌ๋ทฐ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค. ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ž˜ ํ•  ์ˆ˜ ์žˆ์„๊นŒ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€ ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ์˜ pr ๋ฆฌ๋ทฐ ๊ทœ์น™์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

https://blog.banksalad.com/tech/banksalad-code-review-culture/

 

์ฝ”๋“œ ๋ฆฌ๋ทฐ in ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ ๊ฐœ๋ฐœ ๋ฌธํ™” | ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฑ…ํฌ์ƒ๋Ÿฌ๋“œ BanksaladX iOS Engineer…

blog.banksalad.com

์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด, ๋˜๊ฒŒ ์‚ฌ์†Œํ•œ ๊ฒƒ์„ ๊ณ ์ณ๋‹ฌ๋ผ๊ณ  ๋งํ• ๋•Œ๋„ ์žˆ๊ณ , ๋ฌด์กฐ๊ฑด ๊ณ ์ณ์•ผํ• ๋•Œ๊ฐ€ ์žˆ๋‹ค. ์ด๊ฒƒ์„ 1~5 ์ˆซ์ž๋ฅผ ์ด์šฉํ•ด์„œ ๋ฆฌ๋ทฐํ•œ๋‹ค๋Š” ์ ์ด ์ข‹์•˜๋‹ค! ๋‹ค์Œ ๋ฆฌ๋ทฐ์—์„œ๋Š”, ๋ฌด์กฐ๊ฑด ์ด ๊ทœ์น™์„ ๋”ฐ๋ผ๋ณด๋„๋ก ํ•˜์ž.

  • P1 ) ๊ผญ ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š”.
  • P2 ) ์ ๊ทน์ ์œผ๋กœ ๊ณ ๋ คํ•ด์ฃผ์„ธ์š”.
  • P3 ) ์›ฌ๋งŒํ•˜๋ฉด ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š” (comment)
  • P4 ) ๋ฐ˜์˜ํ•ด๋„ ์ข‹๊ณ , ์•„๋‹ˆ์–ด๋„ ์ข‹์•„์š”. (approve)
  • P5 ) ๊ทธ๋ƒฅ ์‚ฌ์†Œํ•œ ์˜๊ฒฌ์ž…๋‹ˆ๋‹ค. (approve)

๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›์•˜์„ ๋•Œ, ์ˆ˜์ •ํ•˜๊ณ  ์ž‘์€ ๋‹จ์œ„๋กœ ์ปค๋ฐ‹์„ ๋‚จ๊ธฐ๊ณ  ์ปค๋ฐ‹ ๋ฒˆํ˜ธ๋ฅผ ๋‹ต๋ณ€์œผ๋กœ ๋‚จ๊ฒจ์ฃผ์ž.

 

๐Ÿš€ ์ฝ”๋“œ ์ปจ๋ฒค์…˜ ์ •ํ•˜๊ธฐ

์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ •ํ•˜์ง€ ์•Š์•˜๋”๋‹ˆ ๋ฆฌ๋ทฐ์—์„œ '์—ฌ๊ธฐ์„œ๋Š” ์—”ํ„ฐํ•ด๋‹ฌ๋ผ', '์—”ํ„ฐ๋ฅผ์ง€์›Œ๋‹ฌ๋ผ' '๋„์–ด์“ฐ๊ธฐ๋ฅผ ์ง€์›Œ๋‹ฌ๋ผ'.. ๋ผ๋Š” ๋ฆฌ๋ทฐ๋ฅผ ์—„์ฒญ๋‚˜๊ฒŒ ํ•˜๋Š” ๋‚˜๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์™œ์ผ๊นŒ? ๊ณ ๋ฏผํ•ด๋ณด๋‹ˆ,,,, ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ์ „์— ์ฝ”๋“œ์ปจ๋ฒค์…˜์„ ์•ˆ์ •ํ–ˆ๋”๋ผ,,,, ํœด,,, ๊ทธ๋ž˜๋„ lint ๊ฐ€ ์žˆ์–ด์„œ ๋Œ€์ถฉ ๊ทœ์น™์ด ์ •ํ•ด์งˆ์ค„ ์•Œ์•˜๋Š”๋ฐ ์‚ฌ์†Œํ•œ ๊ฒƒ๋“ค์ด ์ •ํ•ด์ง€์ง€ ์•Š์•„์„œ ์ด๋ฅผ ์ˆ˜์ •ํ•˜๋Š”๋ฐ๋„ ์‹œ๊ฐ„์„ ์Ÿ์•˜๋˜๊ฒƒ ๊ฐ™๋‹ค.

๋ฆฐํŠธ๋ฅผ ์ง€ํ‚ค์ž์•„์•„์•„

๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ๊ผญ ์ •ํ•˜๊ณ  ์‹œ์ž‘ํ•ด์•ผ๊ฒ ๋‹ค. ๋ฆฐํŠธ๊ฐ€ ์žˆ์–ด๋„, ์—ฌ๊ธฐ์„œ ์žก์•„์ฃผ์ง€ ๋ชปํ•˜๋Š” ์‚ฌ์†Œํ•œ ๊ฒƒ๋“ค์ด ๋˜๊ฒŒ ๋งŽ์•˜๋‹ค. ์•„๋‹ˆ ๊ทธ๋ƒฅ ์˜ค์ง€๊ฒŒ ๋งŽ๋‹ค! ๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋•Œ๋Š”, ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ ํ•ด์„œ ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ์ •ํ•˜๊ณ  ์‹œ์ž‘ํ•ด์•ผ๊ฒ ๋‹ค. ์•„๋ž˜์—๋Š” ๋‚ด๊ฐ€ ๋˜ ์ด๋ฒˆ ํŒ€์—์„œ ์–ด๋””์„œ๋ถ€ํ„ฐ ๋ฌธ์ œ๊ฐ€ ๋˜์—ˆ์„๊นŒ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ ์ฐพ์€ '์Šคํƒ€์ผ์‰์–ด์˜ ์ฝ”๋“œ ์ปจ๋ฒค์…˜'์ด๋‹ค. ์ด๊ฒƒ์„ ์ฐธ๊ณ ํ•ด์„œ ์ ์šฉ์‹œ์ผœ๋ด์•ผ๊ฒŸ๋‹ค!

https://github.com/StyleShare/swift-style-guide

 

GitHub - StyleShare/swift-style-guide: StyleShare์—์„œ ์ž‘์„ฑํ•œ Swift ํ•œ๊ตญ์–ด ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ

StyleShare์—์„œ ์ž‘์„ฑํ•œ Swift ํ•œ๊ตญ์–ด ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ. Contribute to StyleShare/swift-style-guide development by creating an account on GitHub.

github.com

 

๐Ÿš€ Commit Message ๊ทœ์น™ ์ •ํ•˜๊ธฐ

์ปค๋ฐ‹ ๋ฉ”์„ธ์ง€ ๊ทœ์น™์„ ์ •ํ•˜๊ธด ํ–ˆ๋Š”๋ฐ, ์•„๋ฌด๋ฐ์„œ ๋”ฐ์™€์„œ ์ •ํ•˜๋‹ค๋ณด๋‹ˆ๊นŒ ์–ด๋–ค UIํ™”๋ฉด ๊ตฌ์„ฑ์€ add๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ, ์–ด๋–ค๊ฑด feat์œผ๋กœ ๋˜์–ด์žˆ๊ณ  ์ด๋Ÿฐ์‹์œผ๋กœ ์ œ๋Œ€๋กœ ์ฒด๊ณ„๊ฐ€ ์žกํ˜€์žˆ์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ์—๊ฒŒ ๊ผญ ํ•„์š”ํ•œ commit message๋งŒ ์ œ๋Œ€๋กœ ์ •์˜ํ•˜๊ณ  ์ฒด๊ณ„๋ฅผ ์ •ํ•˜๊ณ  ๋„˜์–ด๊ฐ€๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜์—ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ปค๋ฐ‹๋ฉ”์„ธ์ง€์— ์ด์Šˆ๋ฒˆํ˜ธ๋ฅผ ๋‚จ๊ธฐ๋ฉด, ํ•ด๋‹น ์ด์Šˆ์— ์ปค๋ฐ‹๋‚ด์—ญ์ด ์ž๋™์œผ๋กœ ๋‚จ๊ฒจ์ง€๊ฒŒ ๋œ๋‹ค. ์ด ๊ธฐ๋Šฅ๋„ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ–ˆ์–ด์•ผ ํ–ˆ๋Š”๋ฐ ๊ทธ๋ ‡์ง€ ๋ชปํ•ด์„œ ์•„์‰ฌ์› ๋‹ค. 

์ด๋ ‡๊ฒŒ ์ด์Šˆ๋ฒˆํ˜ธ๋ฅผ ๋‚จ๊ธฐ๋ฉด ํ•ด๋‹น ์ด์Šˆ ๋ฐ‘์— ๋œฌ๋‹ค!

commit message ๊ทœ์น™์€ ์ด๋ ‡๊ฒŒ ์ •ํ•ด๋ณด๊ณ  ์‹œ์ž‘ํ•˜์ž.

๋ฐ˜์‘ํ˜•