Replace Nested Conditional With Guard Clauses, ์ค์ฒฉ ์กฐ๊ฑด๋ฌธ์ ๋ณดํธ ๊ตฌ๋ฌธ์ผ๋ก ๋ฐ๊พธ๊ธฐ๋ฅผ ์์๋ณด์.
์์ฝ
์ฝ๋
๋ฐฐ๊ฒฝ
- ์กฐ๊ฑด๋ฌธ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๋ ๋๊ฐ์ง๋ค.
- ์ฐธ์ด๊ฑฐ๋ ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ ๋ชจ๋๊ฐ ์ ์๋์์ผ๋ก ์ด์ด์ ธ์ผ ํ๋ ๊ฒฝ์ฐ
- ์ฐธ์ธ ๊ฒฝ์ฐ๋ง ์๋ฏธ๊ฐ ์๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ ๊ฒฝ์ฐ
- ์ ๋๊ฐ์ง ๊ฒฝ์ฐ๋ ์๋ํ๋ ๋ฐ๊ฐ ๋ค๋ฅด๋, ์ด ์๋๊ฐ ํํ๋ก ๋๋ฌ๋๋ ๊ฒ์ด ์ณ๋ค.
swift
์์๋ guard
๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ค.
์ ์ฐจ
- ๊ต์ฒดํด์ผ ํ ์กฐ๊ฑด ์ค ๊ฐ์ฅ ๋ฐ๊นฅ ๊ฒ์ ์ ํํ์ฌ ๋ณดํธ ๊ตฌ๋ฌธ์ผ๋ก ๋ฐ๊พผ๋ค.
- ํ
์คํธํ๋ค.
- 1~2๋ฅผ ํ์ํ ๋งํผ ๋ฐ๋ณตํ๋ค.
- ๋ชจ๋ ๋ณดํธ ๊ตฌ๋ฌธ์ด ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค๋ฉด, ์กฐ๊ฑด๋ฌธ์ ํตํฉํ๋ค.
์์
- ๋๋์ฒด ๋ญํ๋์ง ํ์ฐํ ๋๋ฌ๋์ง ์๋๋ค.
- ์ด ์ด์ ๋ ์ค์ฒฉ๋ ์กฐ๊ฑด๋ค์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ ๋ณด๋ฉด, ๋ชจ๋ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ธ ์ํฉ์ ๊ณ์ฐ์ ํ๊ณ ์๋ ๊ฒ์ ์ ์ ์๋ค.
- ์ผ๋จ ๊ฐ์ฅ ์ฒ์์ ๋ง๋๋ ์กฐ๊ฑด์ ๋ํด
result
์ ๋ด์ง ์๊ณ return
์์ผฐ๋ค.
- ์ด๋ฐ์์ผ๋ก ๋ง๋๋ ์กฐ๊ฑด๋ค์ ๋ํด early return์ ์ํค๋ฉด, ์ฝ๋๊ฐ ๋ณด๋ค ๋ช
ํํด์ง๋ค.
Reference