ํด๋ฆฐ ์ฝ๋(Clean Code)
์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์ฌ์ฉ๋๋ ๊ฐ๋ ์ผ๋ก, ๋ง ๊ทธ๋๋ก ์ฝ๊ธฐ ์ฝ๊ณ ์ดํดํ๊ธฐ ์ฌ์ด ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด๋ค.
ํ๋ก๊ทธ๋จ์ ๋์์ ๋ณด์ฅํ๋ ๊ฒ ๋ฟ ์๋๋ผ ์ฝ๋ ์์ฒด๊ฐ ๊ฐ๋ ์ฑ์ด ๋ฐ์ด๋๊ณ ์ ์ง๋ณด์๊ฐ ์ฝ๋๋ก ์์ฑ๋์ด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
ํด๋ฆฐ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ฒ ๋๋ฉด
1. ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๊ณ
2. ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ ํ์๋ ์์ ์ด ์ด๋ ต๋ค
3. ๊ฐ๋ฐ ์๋๋ฅผ ๋ฆ์ถ๋ค
๋ฐ๋ผ์ ๋น์ฐํ๊ฒ๋, ํ ์ ์ฒด์ ํ๋ก์ ํธ๋ฅผ ์ํด์๋ ๊ฐ์ฅ ์ค์ํ ๊ฐ์น๋ผ๊ณ ํ ์ ์๋ค.
ํด๋ฆฐ์ฝ๋์ ์ฃผ์ ์์น
1. ์๋ฏธ ์๋ ๋ณ์์ ํจ์ ์ฌ์ฉํ๊ธฐ
์ฝ๋๊ฐ ๊ธธ์ด์ง๊ณ ์ ์ ๋ง์์ง๊ฒ ๋๋ฉด ๋ณ์์ ํจ์์ ์ด๋ฆ์ด ์๋ ์์ด ๋ง๋ค.
์ด๋, ์ด ํจ์์ ๋ณ์๋ ์ฌ์ฉ ๋ฌธ๋งฅ์ ๋ง๊ฒ ์ ํํ๊ฒ ๋ช ๋ช ๋์ด์ผ ํ๋ค.
2. ๊ฐ๋ ์ฑ ์กฐ์ ์ฝ๋ ๋ง๋ค๊ธฐ
์ฝ๋๋ ๋ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ์ฌ๋์ด ๋ด๋ ์ฝ๊ธฐ ์ฝ๋๋ก ์์ฑ๋์ด์ผ ํ๋ค.
3. ์ฃผ์์ ํ์ํ ๋๋ง ์ ํ์ฉํ๊ธฐ
์ฃผ์์ ์ ํ์ฉํ๋ ๊ฒ์ ๋งค์ฐ ์ค์ํ๋ค.
์ฃผ์์ด ๋๋ฌด ๋ง์๋, ๋๋ฌด ์ ์ด๋ ์์ข๊ธฐ ๋๋ฌธ์ด๋ค.
์ฃผ์์ ์ ํ์ฉํ์ฌ ์ ์ฒด ์ฝ๋์ ์๋๋ ์ค์ํ ๋ถ๋ถ์ ์ ์ ํ๊ฒ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๊ฐ๋ฐ์ ๋ฟ ์๋๋ผ ๋์ค์ ์ฝ๋๋ฅผ ์ดํดํ ์์ ์๊ฒ๋
์ฝ๋๋ฅผ ์ดํดํ๋๋ฐ ๋์์ ์ค๋ค.
4. ๊ฐ๊ฒฐํ ์ฝ๋ ์ ์งํ๊ธฐ
์ต๋ํ ์ค์ผ ์ ์๋ ์ฝ๋๋ฅผ ์ค์ด๋ฉด์ ๊ฐ๊ฒฐํ ์ฝ๋๋ฅผ ์ ์งํด์ผ ํ๋ค.
๋ฒ๊ทธ๋ฅผ ์ค์ด๊ณ , ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ด๋ค.
5. ๋ชจ๋ํ ์ํํ๊ธฐ
์์ ๋ชจ๋๋ก ์ฝ๋๋ฅผ ์๊ฒ ์ชผ๊ฐ ๊ฐ ๋ชจ๋์ด ํน์ ๊ธฐ๋ฅ์ด๋ ์ญํ ์ ์ํํ๋๋ก ํด์ผ ํ๋ค.
์ฆ, ์์ฃผ ์ฌ์ฉํ๋ ์ฝ๋์ ๊ฒฝ์ฐ ๋ฐ๋ก ๋ฉ์๋๋ฅผ ํตํด ๋ง๋ค์ด ์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํด ์ ์ง ๋ณด์๋ฅผ ๋๊ฒ ๋ง๋ค์ด์ผ ํ๋ค.
ํ์ง๋ง, ๋ ๋๋ฌด ์๊ฒ ์ชผ๊ฐ ๋ง์ ๋ชจ๋์ ๋ง๋ค์ด ์ฝ๋๊ฐ ๋ ๊ธธ์ด์ง ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ผ ํ๋ค.
6. ํ ์คํธ ๊ฐ๋ฅํ ์ฝ๋ ๋ง๋ค๊ธฐ
ํ ์คํธ๊ฐ ์ฝ๊ฒ ๊ฐ๋ฅํ ๊ตฌ์กฐ = ํด๋ฆฐ์ฝ๋ ๋ผ๊ณ ํ ์ ์๋ค.
๋๊ธ