Good
- ์์นจ 7์์ ์ถ๊ทผํ๊ณ 7์ ์ดํ์ ํด๊ทผํ๋ค.
- ํฌ์๊ธ ์ญ์ ๊พธ์คํ ์ฌ๋ ธ๋ค.
- ํด๋ฆฐ ์ฝ๋ ๋จผ์ ์ฝ๊ณ ์ ๋ฆฌ๋ฅผ ๊พธ์คํ ํ๋ค.
- ์ ๋
์๋ฌ๋ ๋จน๊ธฐ ์๋ํ๋ค.
- ํ์ฌ ๋ชจ๋ํฐ ์ค์ , ํค๋ณด๋, ๋ง์ฐ์ค, ํธ๋ํจ๋ ๊ตฌ๋งคํ๋ค.
- ๋งฅ ์คํ๋์ค ๊ตฌ์
ํ๋ค.
Bad
- ์์์ ์ผ๋ก frame ๊ธฐ๋ฐ์ผ๋ก ์์ฒญ์ฃผ์ ๊ฒ์ autolayout์ผ๋ก ์ฒ๋ฆฌํ๋ค. ๋ชจ๋ฅด๋ฉด ์ข๋ ์ ํํ๊ฒ ๋ฌผ์ด๋ณด๋ ์ต๊ด์ ๊ฐ์ง์. ์ ๊ตณ์ด autolayout์ผ๋ก ํ๋์ง..? ํ๋ฒ๋ง ๋ ๋ฌผ์ด๋ณด๋ฉด ํ๋ฒ์ ์ผํ ์ ์๋ค.
- ๋ธ๋ก๊ทธ ๊ธ์ ๋ ๋ง์ด ๋ชป์ผ๋ค. ์๋ฌด๋๋ ๊ธ ํ๋ ์ฐ๋๋ฐ ์๋ฃ์กฐ์ฌ๊ฐ ๋ง์์ ๊ทธ๋ฐ ๋ฏํ๋ค.
- ํธ์ํฐ์ ๊ธ์ ๋ง์ด ๊ณต์ ํ์ง ๋ชปํ๋ค. ์์นจ์ ์กฐ๊ธ ๊ท์ฐฎ๋๋ผ๋ ์ฌ๋ฆฌ๋ ์ต๊ด์ ๊ฐ์ง์.
- ์ ๋
์ ๋ ์์ฃผ ์๋ฌ๋๋ฅผ ๋จน์ง ๋ชปํ๋ค.
- ์ท์ ์ฌ๋๋ฐ ์๊พธ ์๋ชป๋ ์ฌ์ด์ฆ๋ฅผ ์ฐ๋ค. ์์ง?
- ํค๋ณด๋ ์ธ๊ฒ ์ฌ๊ฒ ๋ค๊ณ ์ค๊ณ ๋ก ์๋ค๊ฐ ํค๋ณด๋๊ฐ 3๊ฐ๊ฐ ๋์๋ค. ๊ทธ๋ฅ ์ฒ์๋ถํฐ ํ์ฌ์์ ์๊ฑธ๋ก ์ด๊ฑธ. ๋๋ก๋ ์๊ฑฐ์ฌ๋๊ฒ ์ข์ ์๋ ์๋ค.
Learns
- ๊ฐ์ ํฌ๋์๋ด๊ณ ์ถ์ ๊ฒฝ์ฐ: indexOutOfRange, divisionByZero
- Autolayout์ด ๋ฌด์กฐ๊ฑด ์ ์ผ๋ก ์ข์ ๊ฒ์ ์๋๋ค. computed cost๊ฐ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ frame๊ธฐ๋ฐ์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๋ ์ข์ ์ ์๋ค.
- Clean code๋ฅผ ๋ณด๋ฉด์ ์ธ์ ๊ด๋ จํด์ ์ธ์๊ฐ ์ ์ ์๋ก ์ข๋คํ๋๋ฐ, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ฝ๊ฐ์ ์์ถฉ๋๋ ๋ด์ฉ์ด ์๋ ๊ฒ ๊ฐ์ ์ง๋ฌธํ๋ค. ๋ด ์๊ฐ๋๋ก ์ํ๊ฐ์ ์ต๋ํ ์์ ๋ ๋ฐฉ์์ผ๋ก ๊ฐ๋ ๊ฒ์ด ํ
์คํธ๋ ์ ์ง๋ณด์์ ์์ด ๋ณด๋ค ์ข๋ค๋ ๊ฒฐ๋ก ์ด ๋ฌ๋ค. ์ธ์๊ฐ ์ฌ๋ฌ๊ฐ๋ผ๋ฉด ๋ฐ๋ก struct๋ฅผ ๋ง๋ ๋ค๋์ง, ํจ์๋ฅผ ์ชผ๊ฐ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋ง๋๋ ๊ฒ์ด ๋ณด๋ค ์ข๊ฒ ๋ค.
- Exception์ ๊ฒฝ์ฐ case๋ก ๋๋์ง๋ง๊ณ subclassing์ ํตํด ์ฒ๋ฆฌํ์.
- factory๋ก ๋คํ์ฑ์ ๊ด๋ฆฌํ ์ ์๋ค.
addSubview
์ [view1, view2].forEach { self.view.addSubview($0)
์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํ ์๋ ์๋ค.
- ์ด๋ ๊ฒ map์ ์ฌ์ฉํด์ optional์ ๋ฒ๊ฒจ๋ด๊ณ ๋ด๊ฐ ์ํ๋ ์์
์ ํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
- extension ์ฌ์ฉ ๋ฐฉ์
- ํฌ๊ธฐ์ ๋ฐ๋ผ์? (
UIViewController+Delegate.swift
)
- ์์ ์๋ฏธ๋ก ์ ์ผ๋ก ๋ค๋ฅธ ์์น์ ๋๋ ๊ฒฝ์ฐ (Model โ View Structure),
fileprivate
- ์ง์ง extension์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ ๊ฒฝ์ฐ (๋ณธ ์๋ฏธ๋ณด๋ค๋ ์๋ฅ๋๋)
- ์ด๋ฐ์์ผ๋ก ๋ฐ์ผ๋ก ๋ด์ฃผ๋ publisher์ ์์์ ์ฒ๋ฆฌํ๋ publisher๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ ์ ์๋ค.
Commitment
- ๋ค์๋ฌ์๋ ํ๋จผ๋ฐ๋ฌ ์์๋ฅผ ์ด ๊ฒ ๊ฐ์ ๊ธ์ ์ ์ผ๋ก ์ค๋นํ ํ์๊ฐ ์๋ค.
- ์ด๋ฒ๋ฌ ์ง์ถ์ด ๋ง์๋ค. ๋ฐ์ง, ํฐ ๋ฑ์ ๊ตฌ๋งคํ๋ค. ๋ค์๋ฌ์ ์ค์ฌ์ผ ํ๋ค.
- 7-19๋ ์งํค๋ ์ต๊ด์ผ๋ก ๊ฐ์ ธ๊ฐ๋ค.
- ์์นจ์๋ ๊ธฐ์ ๊ธ์ ์ฐ๋ ์ต๊ด์ ๊ฐ์ง์. ํด๋ฆฐ ์ฝ๋๋ ์ฃผ๋ง์ ํ์.
- ์ ํ๋ธ ๋ง๊ณ ์ฑ
์ ์ฝ๋ ์ต๊ด์ ๊ฐ์ง์. ํ์คํ ์ฝ์ด๋ณด๋ ์ฑ
์ด ์ ๋ณด์ต๋ ์๋ ์ธก๋ฉด์์ ๋ณด๋ค ๋น ๋ฅด๊ณ , ์์ํ๊ฒ ๋์ด ๋ ์ฌ๋ฏธ์๋ ๋ฏ ํ๋ค.
- ํ์ผ์ ๋ชจ๋ ๊ฑธ ์์๋ถ๊ณ ์ฃผ๋ง์ ์ด๋ํ์. ์ฃผ๋ง์๋ ๊ผญํด์ผ ํ๋ค. ์์กด ์ด๋์ด๋ค.
- ๋ด๊ฐ ๋๋ฅผ ์๋ ๊ทธ๋๋ก ๋ด์ฃผ๊ธธ ๋ฐ๋ผ๋ฏ, ๋จ๋ ๊ทธ๋ ๊ฒ ๋ณด์. ํญ์ ๊ทธ๋ด ์ ์๋ค๋ ์๊ฐ์ ๊ฐ์ง๊ณ ์ด์.
- ๋ด ์๋ง์์ ๊ทธ๋๋ก ๋ด๋น์น๋ฉด ์๋๋ค. ์ธ์์ ํฌ๊ณ ๋๊ฒ ๋ณด์.