๋ฐ์ํ
ํน์ ์ฌ๋ก ํจํด
Special Case Pattern
ํน์ ์ฌ๋ก ํจํด์ด๋?
ํด๋์ค๋ ๊ฐ์ฒด๋ก ์กฐ์ํด ํน์ ์ฌ๋ก๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด๋ค.
ํ๋ง๋๋ก ์์ธ๊ฐ ์๋๋ผ ์ฝ๋๋ก ํด๊ฒฐํ ์ ์๋ค๋ฉด, ์์ธ์ ์ธ ์ํฉ์ ์บก์ํํด์ ์ฒ๋ฆฌํ๊ธธ ๊ถ์ฅํ๋ค.
null์ ๋ฐํํ์ง ๋ง๋ผ
๋์ Colloections.emptyList()๋ฅผ ๋ฐํํ๋ผ
- null์ ๋ฐํํ๋ ์ฝ๋๋ ์ผ๊ฑฐ๋ฆฌ๋ฅผ ๋๋ฆฌ๊ณ ํธ์ถ์์๊ฒ ๋ฌธ์ ๋ฅผ ๋๊ฒจ๋ฒ๋ฆฐ๋ค.
- ๋๊ตฌ ํ๋ช ์ด๋ผ๋ nullํ์ธ์ ๋นผ๋จน๋๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ ๋ถ๋ฅ ์๋ฌ๊ฐ ๋ ์ ์๋ค.
Collections.emptyList()
๋ฐํํ์ ์ด List๋ผ์ ์ฟผ๋ฆฌ๋ก ๋ญ๊ฐ๋ฅผ ์กฐํํด์ ์ฌ์ฉํ ๋ ์ ๋ง ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ ํํ๋ Dao์์ ์กฐํ๋ ์๋ฃ๋ฅผ ์ฒ๋ฆฌํ๋ฉด์ ์ ๊ธฐ ์ ํฉํ ๊ฒ ๊ฐ๊ตฌ์.
* ํ์ง๋ง ์ฐ์ ์ฟผ๋ฆฌ๊ฐ ์ ์์๋ํ๋ ์ง ํ์ธ์ ๋ค ํ๊ณ ๋์ ์ถ๊ฐํ๋ ๊ฒ ๋ง๋ ๊ฒ ๊ฐ์ต๋๋ค.
null์ ์ ๋ฌํ์ง ๋ง๋ผ
ํ์ง๋ง ์ด๋ ์ข์ง ์๋ค.
์ ์ด์ Null์ ๋๊ธฐ์ง ๋ชปํ๋๋ก ๊ธ์งํ๋ ์ ์ฑ ์ด ํฉ๋ฆฌ์ ์ด๋ค.
๊ฒฐ๋ก
ํ๋ก๊ทธ๋จ์ ๋ง๋ค ๋ a๋ฅผ ํด๋ฆญํ๋ฉด b๊ฐ ๋์ํ๋ ๋ ผ๋ฆฌํ๋ฆ์ด ์๋ค.
์ฌ๊ธฐ์์ ์ค๋ฅ์ฒ๋ฆฌ๋ฅผ ๋ถ๋ฆฌํ์ฌ ๋ ๋ฆฝ์ ์ผ๋ก ๋ง๋๋ ๊ฒ์ด ํฉ๋นํ๋ค.
ํ์ง๋ง ์ค๋ฅ์ฒ๋ฆฌ๋ ์ํ์ ํจ์์ ์ฐ๊ด๋์ด ๋น์ฉ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์, ์์ธ๋ก ์ฒ๋ฆฌํ ๊ฒ์ธ ์ง ์ฝ๋๋ก ๋ถ๋ฆฌํ ๊ฒ์ธ ์ง ๋จผ์ ์๊ฐ ํด๋ด์ผ ํ๋ค.
null์ ์ ๋ฌ๋ ๋ฐํ๋ ๊ธํด์ผ ํ๋ค.
๋ฐ์ํ
'๐ CleanCode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CleanCode]๊ฒฝ๊ณ 2 (1) | 2024.10.01 |
---|---|
[CleanCode]๊ฒฝ๊ณ 1 (1) | 2024.10.01 |
[CleanCode]์ค๋ฅ์ฒ๋ฆฌ-์์ธ์ฌ์ฉ๋ฒ (0) | 2024.09.27 |
[CleanCode]์ค๋ฅ์ฒ๋ฆฌ-์ค๋ฅ์ฝ๋๋ณด๋ค ์์ธ(try/catch&throws)๋ฅผ ์ด์ฉํ๋ผ (1) | 2024.09.25 |
[CleanCode]๊ฐ์ฒด์ ์๋ฃ๊ตฌ์กฐ 2 (1) | 2024.09.23 |