๋ฐ์ํ
๋ถ์ํจ๊ณผ๋ฅผ ์ผ์ผํค์ง ๋ง๋ผ
๋น๋ฐ๋ฒํธ๊ฐ ๋ง๊ฒ ์ ๋ ฅ๋์๋ ์ง ํ์ธ๋ง ํ๋ ํจ์์๋๋ฐ
ํ๋ฆด ์ Session์ ๋ ๋ ค๋ฒ๋ฆฌ๋ ์์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ง ๋ง์์ผ ํ๋ค.
๋ช ๋ น๊ณผ ์กฐํ๋ฅผ ๋ถ๋ฆฌํ๋ผ
๋ณด๋ฉด ๋๊ฐ์ง ๊ธฐ๋ฅ์ ํ๊ณ ์๋๋ฐ
- ๋ก๊ทธ์ธํ์ธ (์กฐํ)
- ๊ฐ ์ ์ฅ (๋ช ๋ น)
์ด๋ฐ ๋๋ ์ผ ํ๋ค๋ ๋ง์ด๋ค.
์ค๋ฅ ์ฝ๋ ๋ณด๋ค๋
์์ธ๋ฅผ ์ฌ์ฉํ๋ผ
- ์๋ฌ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด ์๊ธฐ ๋๋ฌธ์
- ๋ง์ฝ ๋ก๊ทธ์ธ ์คํจ ์ ์๋ฌ๋ฅผ ๊ทธ ๋ ๊ทธ ๋์ฒ๋ฆฌํด์ผ ํ๋ค.
- ์ด๋ฐ ๊ฒฝ์ฐ ๋ณดํต try/catch๋ฌธ์ ์ฌ์ฉํ๋๋ฐ ๊ทธ ์ ์
→ if/else๋ก ๋จผ์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ข๋ค.
๊ทธ๋ผ ์ด๋ป๊ฒ ์ค๋ฅ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ ์ง ์์๋ณด์.
try/catch๋ธ๋ก์ ๋ฝ์๋ด์
์์ธ๋ ํ๋์ ์์ ์ผ๋ก
์ค๋ฅ๋ ํ๊ฐ์ง ์์ ์ด๊ธฐ ๋๋ฌธ์
์ค์ง ์ค๋ฅ๋ง ์ฒ๋ฆฌํด์ผ ํ๋ค.
๊ตฌ์กฐ์ ํ๋ก๊ทธ๋๋ฐ
: ํจ์๊ฐ ํด์๋ก Single entry-exit rule ์ ์ฉ
Single entry-exit rule
๋จ์ผ ์ /์ถ๊ตฌ ๊ท์น์ผ๋ก
๋ชจ๋ ํจ์ ์ ํจ์๋ด ๋ชจ๋ ๋ธ๋ก{ }์ ์ /์ถ๊ตฌ๊ฐ ํ๋์ฌ์ผ ํ๋ค๋ ๊ฑฐ๋ค.
์ฆ, ํจ์์ return๋ฌธ์ด ํ๋์ฌ์ผ ํ๊ณ
๋ฃจํ ์์์ break์ด๋ continue๋ฅผ ์ฌ์ฉํ๋ฉด ์๋๋ค๋ ๊ท์น์ด๋ค.
ํ์ง๋ง ํจ์๊ฐ ์๋ค๋ฉด ์ ๊ท์น์ ๋ณ ์ด์ต์ ๋ณด์ง ์๋๋ค.
๋ฐ๋ผ์ ํจ์๊ฐ ์๋ค๋ฉด return, break, continue ๋ฑ์ ์ฌ๋ฌ ์ฐจ๋ก ์ฌ์ฉํด๋ ๊ด์ฐฎ๋ค.
์ฒ์ ์ฝ๋๋ฅผ ์งค ๋๋
๊ธธ๊ณ ๋ณต์กํ ๊ฒ ๋น์ฐํ๋ค
๋ค์ฌ์ฐ๊ธฐ ๋จ๊ณ๋ ๋ง๊ณ ๋ฃจํ๋ ๋ง๊ณ
๋ณ์๋ช ๋ ๊ธธ๊ณ , ์ธ์๋ ๋ง๊ณ
ํ์ง๋ง ๋จ์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋ง๋ค๊ณ ๋ถํฉํด์ผ ํ๋ค.
์ด ํ์ ์ฝ๋๋ฅผ ๋ค๋ฌ์ผ๋ฉด์
ํจ์๋ฅผ ์ถ๊ฐ๋ก ๋ง๋ค๊ณ ํด๋์ค๋ฅผ ์ชผ๊ฐ๊ณ ์์๋ฅผ ๋ฐ๊พธ๋ฉด์๋
ํญ์ ๋จ์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ํต๊ณผํด์ผ ํ๋ค.
๋ฐ์ํ
'๐ CleanCode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CleanCode]์ข์ ์ฃผ์ (0) | 2024.09.20 |
---|---|
[CleanCode]์ฃผ์-์ด๋ (1) | 2024.09.18 |
[CleanCode]ํจ์-์ธ์ Arguments (1) | 2024.09.06 |
[CleanCode]ํจ์-๋ ์๊ฒ+๋ด๋ ค๊ฐ๊ธฐ ๊ท์น (1) | 2024.08.14 |
[CleanCode]์๋ฏธ์๋ ์ด๋ฆ-๋งฅ๋ฝ (0) | 2024.08.11 |