Good

  • ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์ผ์ •๊นŒ์ง€ ์—…๋ฌด๋ฅผ ์™„๋ฃŒํ–ˆ๋‹ค.
  • 6๊ฐœ์›”๋™์•ˆ ๋‚ด๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๋Œ€๋กœ ํƒ€ํ˜‘์—†์ด ์ผ์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

Bad

  • ์„ค๊ณ„์ ์ธ ์ธก๋ฉด์—์„œ ๋ฏธ์ณ ๋ชป๋ดค๋˜ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค.
  • ์•„์ง ์•ฑ์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ๋ณธ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์—ฐํ•˜์ง€๋งŒ, ์กฐ๊ธˆ๋” ๋ฉด๋ฐ€ํžˆ ๋ณด์•˜๋‹ค๋ฉด ํŒ€์˜ ์ „์ฒด ์ƒ์‚ฐ์„ฑ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์—ˆ์„ ๋“ฏ ํ•˜๋‹ค.

Learns

  • if๋ฌธ ์—ฌ๋Ÿฌ๊ฐœ๋Š” protocol ์„ ์–ธ ํ›„ ์ฑ„ํƒํ•˜์—ฌ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐ์ฒด์ง€ํ–ฅ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๋ฉด ๋ถ„๊ธฐ๋ฅผ ์—†์•จ ์ˆ˜ ์žˆ๋‹ค. (ItemComposable)
  • ๊ณต์œ  ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ๋‹ค์–‘ํ•œ ๊ฒฐ๊ณผ๊ฐ’์„ ๋งŒ๋“ค๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ํ”Œ๋ผ์ด๊ธ‰ ํŒจํ„ด์ด๋‹ค. (NSAttributedString.makeSpace())
  • ๋”๋ธ” ๋””์ŠคํŒจ์น˜๋Š” Visitor ํŒจํ„ด์ด๋‹ค. (Layouts().apply())
    • ๊ฐ์ฒด์˜ ์ฑ…์ž„์„ ๋‚˜๋ˆ„๊ณ  ์ด๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•
  • ๊ฐ’์˜ ๋ณ€๊ฒฝ ์ •๋„๊ฐ€ ์žฆ๋‹ค๋ฉด switch๋ง๊ณ  ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐฉ๋ฒ•์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ํŒจํ„ด ๋งค์นญ์€ ๋ฌด์—‡์ธ๊ฐ€? ์กฐ๊ฑด๋ฌธ ๋ณด๋‹ค ์กฐ๊ธˆ ์ƒ์œ„ ๊ฐœ๋…?
  • Layout ์ฝ”๋“œ ๋ถ„์„
  • lint error๋Š” ๋ถ„๋ช… ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ์„ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ธํŠธ์ด๋‹ค.
  • ๋ชจ๋“  ์ฃผ์„์„ ์ง€์šฐ์ž.

Commitment

  • ์žฅ์†Œ์ƒ์„ธ ๋๋‚˜๊ณ ๋Š” ๋‹ค์‹œ ์ฑ…์ฝ๊ณ  ์ •๋ฆฌํ•˜์ž.
  • ํด๋ฆฐ์ฝ”๋” ๋‹ค์‹œ ์ฝ๊ธฐ
  • ์‚ฌํ† ์‹œ์˜ ์„œ ์ฝ๊ธฐ
  • ๋””์ž์ธ ํŒจํ„ด ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ณ  ๋‚ด๋ฉดํ™”ํ•˜๊ธฐ.
  • WWDC๋ฅผ ์ด์ œ ๋ด์•ผํ•  ๋“ฏํ•˜๋‹ค. ์ƒˆ๋กœ์šด ๋ฐฅ์ค„์„ ์œ„ํ•ด.