Good

  • ์šด๋™์„ ๊พธ์ค€ํžˆ ํ–ˆ๋‹ค. ๋ชธ์ด ์ ์  ์ปค์ง„๋‹ค.. ๋ฌด์„ญ๋‹ค.
  • ๋ธ”๋กœ๊ทธ ๊ธ€์„ ๊ทธ๋ž˜๋„ ํ•œ 20๊ฐœ ์ •๋„๋Š” ์“ด ๊ฒƒ ๊ฐ™๋‹ค.
  • ํŠธ์œ„ํ„ฐ ๊ณ„์ •์„ ๋งŒ๋“ค์—ˆ๋‹ค.
  • ๊ฒฐ๊ตญ ์…‹์—…์„ ๊ตฌ๋งคํ–ˆ๋‹ค. ์ €๋ ดํ•˜๊ฒŒ ๊ตฌ๋งคํ•ด์„œ ์ข‹๋‹ค.
  • ํ•˜๋ฝ์žฅ์— ์šฉ๊ธฐ๋‚ด์–ด ์ฃผ์‹ ๋งค์ˆ˜ํ–ˆ๋‹ค.
  • ์ข‹์€ ์ƒํ™œ ํŒจํ„ด์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 6์‹œ ๊ธฐ์ƒ, 12์‹œ ์ทจ์นจ, 05:45๋ถ„ ์žฅ์™ธ ๋งค์ˆ˜
  • ํŠธ์œ„ํ„ฐ๋กœ ์ข‹์€ ํˆฌ์ž์ •๋ณด๋“ค์„ ๊ณ„์†ํ•ด์„œ ์ ‘ํ•˜๊ณ  ์žˆ๋‹ค.
  • ๋ฆฌํŒฉํ† ๋ง์„ ๊ณ„์†ํ•˜๋‹ค๋ณด๋‹ˆ, ์–ด๋–ค ๊ฒƒ์„ ์šฐ์„ ์ ์œผ๋กœ ํ•ด์•ผํ•˜๋Š”์ง€ ์กฐ๊ธˆ์€ ๊นจ๋‹ฌ์€ ๊ฒƒ ๊ฐ™๋‹ค.
  • ๊ตฌํš ์ •๋ฆฌ
  • access control ์ ์šฉ
  • convention ์ ์šฉ
  • explicit optional ์ ์šฉ
  • ๋‹จ์ผ ๋™์ž‘์„ ํ•˜๋Š” ์ž‘์€ ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌ: ์ƒํƒœ๊ฐ’์„ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค. ์ˆœ์ˆ˜ํ•จ์ˆ˜๋กœ ๋ถ„๋ฆฌ
  • ๋กœ์ง์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ํŒŒ์ผ์— ๋”ฐ๋ผ ๋ถ„๋ฆฌ
  • ์ตœ๋Œ€ํ•œ ์ƒํƒœ๊ฐ’์„ ์ œ๊ฑฐํ•˜์—ฌ ์ถ”ํ›„ ์ฝ”๋“œ๋ฅผ ์ฝ๊ธฐ ํŽธํ•˜๊ฒŒ ๋งŒ๋“ ๋‹ค.
  • ์ด๋ฆ„์˜ ๊ฒฝ์šฐ์—๋Š” ๋™์‚ฌ, ๋ชฉ์ ์–ด ์ˆœ์œผ๋กœ ์ ๋Š”๋‹ค. ๋™์ž‘์ด ๋ช…ํ™•ํ•œ ์˜์–ด๋‹จ์–ด๋ฉด ๋” ์ข‹๋‹ค.
  • ์žฅ์ด ์•ˆ์ข‹์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ฉ˜ํƒˆ๊ด€๋ฆฌ๋ฅผ ์ž˜ํ–ˆ๋‹ค.
  • ํŠธ์œ„ํ„ฐ ์ฒซ ํŠธ์œ—์„ ๋‚ ๋ ค๋ณด์•˜๋‹ค.

Bad

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

Learns

  • ์—ฐ๋‹ฌ์€ PR์˜ ๊ฒฝ์šฐ, ๊ทธ ์•ž์˜ branch์— base๋ฅผ ๊ฑธ์–ด๋‘๋ฉด ์ˆœ์ฐจ์ ์œผ๋กœ merge๋˜๋Š” ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ develop์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค!
  • self.tableView.estimatedRowHeight = 44, self.tableView.rowHeight = UITableView.automaticDimension ์•ˆํ•ด์ฃผ๋ฉด self resizing ์•ˆ๋œ๋‹ค.. ์ฐธ๊ณ 
  • let, var์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•ด๋ณด์ด๋Š” ๊ฒƒ๋„, ์–ธ์–ด๋ฅผ ๋งŒ๋“ค ๋•Œ์˜ ์ƒ๊ฐ๋“ค์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ์–ธ์–ด์˜ ์—ญ์‚ฌ๋ฅผ ์‚ดํŽด๋ณด๊ณ , ๊ทธ ๊ณผ์ •์—์„œ ์–ด๋–ป๊ฒŒ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ๋ฐ”๋€Œ์–ด ์™”๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๊ณ  ๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œํ•˜๋‚˜๋ฅผ ๋ฐ”๋ผ๋ณผ ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์•Œ๊ณ  ์“ฐ๋Š” ๊ฒƒ๊ณผ ๋ชจ๋ฅด๊ณ  ์“ฐ๋Š” ๊ฒƒ์€ ์ฐจ์ด๊ฐ€ ๋งค์šฐ ํฌ๋‹ค. ๋ฌด์ง€๋ฅผ ๊ฒฝ๊ณ„ํ•˜์ž.
  • ๋ฆฌํŒฉํ† ๋ง์„ ๊ธฐ๊ณ„์ ์œผ๋กœ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด ๋ฌด์Šจ๋ง์ผ๊นŒ? ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค.

Commitment

  • ๋‹ค์ด์–ดํŠธ๋ฅผ ์ข€ ํ•˜๊ธด ํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค.
  • ์šด๋™์€ ์ดํ‹€ ํ˜น์€ 3์ผ์— ํ•œ๋ฒˆํ•ด๋„ ๋ชธ์ด ๋„ˆ๋ฌด ์‘ค์‹ ๋‹คโ€ฆ ์ด๋Œ€๋กœ ์ง„ํ–‰, ํ•˜์ง€๋งŒ ์ตœ๋Œ€ ์ด์™„, ์ง‘์ค‘ ์ง€ํ‚ค๋ฉด์„œ ํ•˜๊ธฐ
  • 5์›”์—๋Š” ํ•œ๋ฒˆ์€ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋–จ๊นŒ..?
  • ํด๋ฆฐ ์ฝ”๋“œ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๊ฒŒ ๋  ๋“ฏํ•œ๋ฐ, ๋จผ์ € ์ •๋ฆฌํ•ด์„œ ๊ฐ€๋Š” ๊ฒƒ์ด ์ข‹์„ ๋“ฏํ•˜๋‹ค. ๋‚˜์ค‘์— ์ฑ…์„ ์ฐพ์•„๋ณด์ง€ ์•Š๊ณ  ๋ธ”๋กœ๊ทธ์—์„œ ์ฐพ์•„์„œ ์ฝ๊ณ  ์‹ถ๋‹ค.
  • 5์›”์—๋Š” ๊ธ€ 30๊ฐœ ์“ฐ๊ธฐ
  • 5์›”์—๋Š” ํŒ€์›๋“ค์—๊ฒŒ ๊ธ€ ํ•˜๋‚˜๋Š” ๊ผญ ๊ณต์œ ํ•˜๊ธฐ
  • ํ‰์ผ์—๋Š” ๊ณ ๊ตฌ๋งˆ์™€ ๋‹ญ๊ฐ€์Šด์‚ด๋งŒ ๋จน๊ธฐ
  • 7 to 7 ์ง€ํ‚ค๊ธฐ
  • ์ด๋ฒˆ๋‹ฌ ์ง€์ถœ์ด ํฌ๋‹ˆ, ์ง€์ถœ ์ค„์ด๊ธฐ
  • ์‹ค์ œ ํ”„๋กœ์ ํŠธ ํˆฌ์ž… ์ดํ›„, ์˜์–ด ๊ด€๋ จ ์„œ์นญํ•˜๊ธฐ