์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- ์งํ์ฒ api
- BOJ
- ์๋๋ก์ด๋
- ๋ฐ์ดํฐ๋ฐ์ธ๋ฉ
- CardView
- codility
- Node.js
- activity
- ํด๋ฆฐ์ฝ๋
- github
- ๋ ธ๋ง๋๋ถํด๋ฝ
- Android
- ๋ ธ๋ง๋์ฝ๋
- ์ฌ์ฉ์ํด๋
- ์กํฐ๋นํฐ
- ๋ฐฑ์ค
- ๋ถ์คํธ์บ ํ
- ๋ถํด๋ฝ
- listview
- CS50
- ์๊ณ ๋ฆฌ์ฆ
- Windows10
- ํธ๋ ๋ก ์ญ์
- ๋ ธ๊ฐ๋ถ
- RecyclerView
- ๋ถ์คํธ์ฝ์ค
- androidstudio
- ์๋์ฐ10
- java
- ์ ํ๋ ์ด์์
- Today
- Total
Be Developer
[ํด๋ฆฐ ์ฝ๋] 7์ฅ. ์ค๋ฅ ์ฒ๋ฆฌ ๋ณธ๋ฌธ
2022. 03. 04
๐ ์ค๋ ์ฝ์ ๋ฒ์
7์ฅ. ์ค๋ฅ ์ฒ๋ฆฌ
๐ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
- ๋จผ์ ๊ฐ์ ๋ก ์์ธ๋ฅผ ์ผ์ผํค๋ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ ํ ํ ์คํธ๋ฅผ ํต๊ณผํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ถ์ฅํ๋ค. ๊ทธ๋ฌ๋ฉด ์์ฐ์ค๋ฝ๊ฒ try ๋ธ๋ก์ ํธ๋์ญ์ ๋ฒ์๋ถํฐ ๊ตฌํํ๊ฒ ๋๋ฏ๋ก ๋ฒ์ ๋ด์์ ํธ๋์ญ์ ๋ณธ์ง์ ์ ์งํ๊ธฐ ์ฌ์์ง๋ค. (p.133)
- ์ค๋ฅ ๋ฉ์์ง์ ์ ๋ณด๋ฅผ ๋ด์ ์์ธ์ ํจ๊ป ๋์ง๋ค. ์คํจํ ์ฐ์ฐ ์ด๋ฆ๊ณผ ์คํจ ์ ํ๋ ์ธ๊ธํ๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ก๊น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค๋ฉด catch ๋ธ๋ก์์ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํ๋๋ก ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ๋๊ฒจ์ค๋ค. (p.135)
- ์ค์ ๋ก ์ธ๋ถ API๋ฅผ ์ฌ์ฉํ ๋๋ ๊ฐ์ธ๊ธฐ ๊ธฐ๋ฒ์ด ์ต์ ์ด๋ค. ์ธ๋ถ API๋ฅผ ๊ฐ์ธ๋ฉด ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ก๊ทธ๋จ ์ฌ์ด์์ ์์กด์ฑ์ด ํฌ๊ฒ ์ค์ด๋ ๋ค. ๋์ค์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ฐ์ํ๋ ๋น์ฉ์ด ์ ๋ค. ๋ํ ๊ฐ์ธ๊ธฐ ํด๋์ค์์ ์ธ๋ถ API๋ฅผ ํธ์ถํ๋ ๋์ ํ ์คํธ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ก๊ทธ๋จ์ ํ ์คํธํ๊ธฐ๋ ์ฌ์์ง๋ค. (p.137)
- ํํ ์์ธ ํด๋์ค๊ฐ ํ๋๋ง ์์ด๋ ์ถฉ๋ถํ ์ฝ๋๊ฐ ๋ง๋ค. ์์ธ ํด๋์ค์ ํฌํจ๋ ์ ๋ณด๋ก ์ค๋ฅ๋ฅผ ๊ตฌ๋ถํด๋ ๊ด์ฐฎ์ ๊ฒฝ์ฐ๊ฐ ๊ทธ๋ ๋ค. ํ ์์ธ๋ ์ก์๋ด๊ณ ๋ค๋ฅธ ์์ธ๋ ๋ฌด์ํด๋ ๊ด์ฐฎ์ ๊ฒฝ์ฐ๋ผ๋ฉด ์ฌ๋ฌ ์์ธ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ค. (p.137)
- ํน์ ์ฌ๋ก ํจํด(Special Case Pattern) : ํด๋์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ๊ฐ์ฒด๋ฅผ ์กฐ์ํด ํน์ ์ฌ๋ก๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ (p.138)
- ๋ฉ์๋์์ null์ ๋ฐํํ๊ณ ํ ์ ํน์ด ๋ ๋ค๋ฉด ๊ทธ ๋์ ์์ธ๋ฅผ ๋์ง๊ฑฐ๋ ํน์ ์ฌ๋ก ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ค. ์ฌ์ฉํ๋ ค๋ ์ธ๋ถ API๊ฐ null์ ๋ฐํํ๋ค๋ฉด ๊ฐ์ธ๊ธฐ ๋ฉ์๋๋ฅผ ๊ตฌํํด ์์ธ๋ฅผ ๋์ง๊ฑฐ๋ ํน์ ์ฌ๋ก ๊ฐ์ฒด๋ฅผ ๋ฐํํ๋ ๋ฐฉ์์ ๊ณ ๋ คํ๋ค. (p.139)
- ๋ฉ์๋์์ null์ ๋ฐํํ๋ ๋ฐฉ์๋ ๋์์ง๋ง ๋ฉ์๋๋ก null์ ์ ๋ฌํ๋ ๋ฐฉ์์ ๋ ๋์๋ค. (p.140)
- ๊นจ๋ํ ์ฝ๋๋ ์ฝ๊ธฐ๋ ์ข์์ผ ํ์ง๋ง ์์ ์ฑ๋ ๋์์ผ ํ๋ค. (p.142)
- ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ํ๋ก๊ทธ๋จ ๋ ผ๋ฆฌ์ ๋ถ๋ฆฌํด ๋ ์์ ์ธ ์ฌ์์ผ๋ก ๊ณ ๋ คํ๋ฉด ํผํผํ๊ณ ๊นจ๋ํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค. ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ํ๋ก๊ทธ๋จ ๋ ผ๋ฆฌ์ ๋ถ๋ฆฌํ๋ฉด ๋ ๋ฆฝ์ ์ธ ์ถ๋ก ์ด ๊ฐ๋ฅํด์ง๋ฉฐ ์ฝ๋ ์ ์ง๋ณด์์ฑ๋ ํฌ๊ฒ ๋์์ง๋ค. (p.142)
๐ ์ค๋ ์ฝ์ ์๊ฐ
- ์์ธ ์ฒ๋ฆฌ์ ๋ํ ๋ถ๋ถ์ ์ํํ ํ๊ณ ๋์ด๊ฐ๋ ๊ณผ๊ฑฐ์ ๋ํ ๋ฐ์ฑ์ ํ๊ฒ ๋์๋ค. ๊ทธ๋ฅ try-catch๋ก ๋๋ด๋ ๊ฒ ์๋๋ผ ์กฐ๊ธ๋ง ๋ ์ ๊ฒฝ ์ฐ๋ฉด ํผํผํ๊ณ ๊นจ๋ํ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์๋ค. ๊ทธ๋ฅ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ๊ทธ์น์ง ๋ง๊ณ ์๊ฐ์ ์ข ๋ ํ๋ฉด์ ์์ฑํด๋ณด์.
- ํน์ ์ฌ๋ก ํจํด์ ๋ํด ์ฒ์ ์๊ฒ ๋์๋ค. ์์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ์ด๋ฅผ ํ์ฉํ ์ ์๋ ๋ถ๋ถ์ด ์๊ธด๋ค๋ฉด ์ ๊ทน์ ์ผ๋ก ํ์ฉํด๋ณด์.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํด๋ฆฐ ์ฝ๋] 9์ฅ. ๋จ์ ํ ์คํธ (0) | 2022.03.07 |
---|---|
[ํด๋ฆฐ ์ฝ๋] 8์ฅ. ๊ฒฝ๊ณ (0) | 2022.03.07 |
[ํด๋ฆฐ ์ฝ๋] 6์ฅ. ๊ฐ์ฒด์ ์๋ฃ ๊ตฌ์กฐ (0) | 2022.03.01 |
[ํด๋ฆฐ ์ฝ๋] 5์ฅ. ํ์ ๋ง์ถ๊ธฐ (0) | 2022.03.01 |
[ํด๋ฆฐ ์ฝ๋] 4์ฅ. ์ฃผ์ (0) | 2022.02.26 |