Good
Bad
- ์๋์ง ๋ ๋ฒจ์ด ๋จ์ด์ก๋ค.
- ์ฒด๋ ฅ์ด ๋ฌธ์ ์ธ๊ฐ?
- ๋ ๊ฐ์ ํ ๊ฒ์ด ์์ด์ก์ ์ง๋ ๋ชจ๋ฅธ๋ค.
Learns
- code smell!: fileprivate๋ก ์ ์ธํ๋๊ฑธ internal๋ก ๋ณ๊ฒฝํ๊ฒ ๋๋ ์๊ฐ
- ๊ทธ๋ผ ์ ์ ๋ฌธ์ ๊ฐ ์๊น
- fileprivate์ผ๋ก ํ ๊ฒ ๊ฐ์ผ๋ฉด extension์ผ๋ก ํ๋ ๊ฒ๋ณด๋ค ๋ถ๋ฆฌํ๋๊ฒ ๋์ ์ ์๋ค.
- fileprivate ์ด๋ผ๋ ๊ฒ์ ํด๋น ํ์ผ ๋ด์์๋ง ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋ดํฌํ๊ณ ์๋ค.
- ๊ทธ๋ฐ๋ฐ ์ด๊ฑธ internal๋ก ๋ฐ๊พผ๋ค๋ ๊ฒ์ ๋ค๋ฅธ ๊ณณ์์๋ ์ฐธ์กฐํ๊ฒ ๋ค๋ ์๋ฆฌ์ธ๋ฐ, ์ด๋ ๋ญ๊ฐ ์ด์ํ๋ค.
- ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฐพ์์ผ ํ๋ค.
Optional(false) == false
๋ true
๋ค. optional wrapping์ด ๋์ด ์์ด๋ ๋ด๋ถ ๊ฐ๊ณผ ๋ฐ๊นฅ๊ฐ์ ๋น๊ตํ ์ ์๋ค.
- ๊ตณ์ด ๋ฒ๊ฒจ์ ๋น๊ตํ์ง ์์๋ ๋๋ค.
- ๋ฐ๊นฅ์ชฝ์์ closure๋ฅผ ๋ฃ์ด์ ๋์์ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
- ์ธ๋ถ์์ ๋์์ ๋ฃ์ด์ ์ฒ๋ฆฌํด์ผ ํ๋ ๊ฒฝ์ฐ ํ์ฉํ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด contextMenu๊ฐ ์๊ฒ ๋ค.
- Swift swizzing crash log๋จ๊ธธ ๋ ์ฌ์ฉ.
- ์ฑ์ด ์ฃฝ์ ๋ ๋จผ์ ๋ก๊น
์ ๋จ๊ธฐ๋ ํจ์๋ก ๋ฐ๊ฟ๋ฒ๋ฆฌ๊ณ ์ถํ ๋์์ ํ๊ฒ ๋ณ๊ฒฝํด์ ์ฌ์ฉํ๋ค.
- line ๊ธธ์ด (์ธ๋ก 300์ค) lint๊ฐ์ ๊ฒฝ์ฐ
- ํ์ผ ๋ถ๋ฆฌ
- ์์ฑ์ ๋ด๋นํ๋ ๊ฐ์ฒด ์์ฑ ํ ๋ถ๋ฆฌ
- extension์ ํ์ผ๋ก ๋บ ํ
+๊ธฐ๋ฅ์ด๋ฆ.swift
๋ก ์ ์
- private์ด internal๋ก ๋ณ๊ฒฝ๋ ์ ์์(์ธ๋ถ ํ์ผ์์ ์ฌ์ฉํ๋)
Commitment
- ์ฌ๋ด ์ํค๋ฅผ ์ฐพ์๋ณด๋ ์ต๊ด์ ๋ค์ฌ์ผ๊ฒ ๋ค. ์ง๋ฌธ์ ์ ๋ฌด์กฐ๊ฑด ์ฐพ๊ธฐ. ์ด๊ฒ ํ ์์ฐ์ฑ์ ์ํฅ์ ๋ฏธ์น๋ค.
- ํ์ง๋ง ๋๋ฌด ๋ง์ ์๊ฐ์ ์ฐพ๋ ๊ฒ์ ์คํ๋ ค ์์ฐ์ฑ์ ์ ํด๋๋ ๋ฐฉ์์ด๋ค. ์ผ๋จ ์ฐพ์๋ณด๊ณ ๊ผญ ๋ฌผ์ด๋ณด์.
- ํ ์ํฉ์์ 2๊ฐ์ ํ์์ ์ฐ๋ฆฌํ์ด ์ฃผ๋ํ๋ ์ญํ ์ ํ๊ธฐ ์ํด์๋ ๋ถ๋๋ฝ๋๋ผ๋ ๋ด๊ฐ ํ์ฌํ๊ณ ์๋ ๊ฒ๋ค์ ๊ณต์ ํด์ผ ํ๋ค.
- ๋๋ณด๋ค ํ ์ ์ฒด์ ์์ฐ์ฑ์ ๋ํ ๋ฆฌ๋ฉํ ์ ์๋ ์
์ฅ์ด ๋๋ ค๋ฉด, ๊ฐ์ธ์ ์ธ ๊ฐ์ ์ ์ด๋์ ๋ ๋์ด๋ด์ผ ํ๋ค.
- ์ฉ๊ธฐ๋ฅผ ๊ฐ๊ณ ์งํํ์. ์ ์ฃฝ๋๋ค. ์ ํ๋ฒ ๋จน์ผ๋ฉด ๋๋ค.
- ๋
ธ๋ ฅ, ์ฑ
์, ์ฑ์ฅ๋ณด๋ค ์ฌ๋ฏธ๋ผ๋ ๋ง์ ๊ธฐ์ตํ๋ฉฐ ์ด์.
- ์ฌ๋ฏธ์๋ค๋ฉด ์ํค์ง ์์๋ ํ ๊ฒ.
- ๋๊ฐ ๋๋ฅผ ํค์์ค๋ค๋ ์๊ฐ์ ํ์ง ๋ง๋ผ. ์ด๊ฑด ํญ์ ํ๋ ์๊ฐ์ด๋ค. ์ธ์์ ํผ์๋ค.
- ์ด์คํ๊ฒ ์๋ ๊ฒ์ด ์ ์ผ ๋ฌด์ญ๋ค. ๋ชจ๋ฅด๋ฉด ๋ชจ๋ฅธ๋คํ๋ ์ฉ๊ธฐ๋ฅผ ๊ฐ์ง์.
- ์ผ๋จ legacy์ ๊ตฌํ์ ๋ง์ถ๋ ๊ฒ์ ๋จผ์ ํ๋ค. ์ผ๋จ ์๋น์ค๊ฐ ๋๊ฐ๋ ๊ฒ์ด ์ฐ์
- ๊ตฌํํ๊ธฐ ์ ์, ๊ธฐ์กด์ ์ด๋ป๊ฒ ๋์ํ๋์ง ๋ช
ํํ๊ฒ ์ ์ํ์์ ์์
ํ์. ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ณ์ ๋ฐ๊พธ๊ฒ ๋๋ค.
- โ์น์ ๋
์โ์ด๋ค. ํํฌ๋ฃจ ์ธ ์๊ฐ์ด ์๋ค.
- ๋ด ๊ฐ์น๋ฅผ ๋์ฌ์ผ ํ๋ค.
- ์ธ๋ชจ, ์ค๋ ฅ, ํ๋จ, ํต์ฐฐ, ์ ์น, ์ฒด๋ ฅ
- ๋ฌด์๋๋ฌธ์ ๋ชปํ๋ค๋ ํ๊ณ ๋์ง ๋ง์.
- ํจ๋ฐฐ์๋ก ์ด์ง๋ง์.
- ๊ทธ๋ฌ๋ฉด์ ๋ค๋ฅธ ์ฌ๋์ ํฌ์ฉํ์. ๊ทธ ์ฌ๋๋ค์ ๋ถ์กฑํ ๋ฉด, ํ์ํ ์ ์ด ์์ ๋ ์ธ์ ๋ ์ง์ฌ์ผ๋ก ๋์์ฃผ๋ ์ฌ๋์ด ๋์.
- ๋จ, ๋์ ๋ํ ์กด๊ฒฝ์ฌ์ด ์์ด ๋ํ๋ ์ฌ๋์๊ฒ๋ ๊ทธ์ ์์ํ๋ ๋๊ฐ๋ฅผ ์น๋ฅด๊ฒ ํ์.
- ๋ด ํ๋จ์ ์ด๋์ ๋ ํ์ ์ ๊ฐ์ง์.
- ๋ค๋ง, ๋๋ณด๋ค ์ค๋ ์๊ฐ์ ์๊ณ ๊ทธ์ ๋ํ ์ ๋
์ด ์๋ ์ฌ๋์๊ฒ๋ ์์ธ๋ค.
- ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ ๋ด ํ๋จ์ด ๋ณดํต ๋ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๊ฒ ๊ฐ๋ค.
- ์์ฌ์ธ ๊ฒ ์๋ ์ฌ๋์ด ๋์. ๋ด ์๊ฐ์ ๊ธ์ด๋ค.
- Work Super Hard!