๐ TIL (Today I Learned) ๋ ์ง
2022.02.25
๐ ์ค๋ ์ฝ์ ๋ฒ์
3์ฅ. ์ฃผ์
๐ ์ฑ ์์ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
- ๋์ ์ฝ๋์ ์ฃผ์์ ๋ฌ์ง ๋ง๋ผ. ์๋ก ์ง๋ผ. (p.68)
- ์ฝ๋๋ ๋ณํํ๊ณ ์งํํ๋ค. ์ผ๋ถ๊ฐ ์ฌ๊ธฐ์ ์ ๊ธฐ๋ก ์ฎ๊ฒจ์ง๊ธฐ๋ ํ๋ค. ์กฐ๊ฐ์ด ๋๋๊ณ ๊ฐ๋ผ์ง๊ณ ํฉ์ณ์ง๋ฉด์ ๊ดด๋ฌผ๋ก ๋ณํ๋ค. ๋ถํํ๊ฒ๋ ์ฃผ์์ด ์ธ์ ๋ ์ฝ๋๋ฅผ ๋ฐ๋ผ๊ฐ์ง๋ ์๋๋ค. ์๋, ๋ฐ๋ผ๊ฐ์ง ๋ชปํ๋ค. ์ฃผ์์ด ์ฝ๋์์ ๋ถ๋ฆฌ๋์ด ์ ์ ๋ ๋ถ์ ํํ ๊ณ ์๋ก ๋ณํ๋ ์ฌ๋ก๊ฐ ๋๋ฌด๋ ํํ๋ค. (p.68)
- ๋ถ์ ํํ ์ฃผ์์ ์์ ์๋ ์ฃผ์๋ณด๋ค ํจ์ฌ ๋ ๋์๋ค. ๋ถ์ ํํ ์ฃผ์์ ๋ ์๋ฅผ ํํนํ๊ณ ์ค๋ํ๋ค. ๋ถ์ ํํ ์ฃผ์์ ๊ฒฐ์ฝ ์ด๋ค์ง์ง ์์ ๊ธฐ๋๋ฅผ ์ฌ์ด์ค๋ค. ๋ ์ด์ ์งํฌ ํ์๊ฐ ์๋ ๊ท์น์ด๋ ์ง์ผ์๋ ์ ๋๋ ๊ท์น์ ๋ช ์ํ๋ค. (p.69)
- ์ฝ๋์ ์ฃผ์์ ์ถ๊ฐํ๋ ์ผ๋ฐ์ ์ธ ์ด์ ๋ ์ฝ๋ ํ์ง์ด ๋์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ชจ๋์ ์ง๊ณ ๋ณด๋ ์ง์์๊ฐ ์๋ง์ด๊ณ ์์๋จน๊ธฐ ์ด๋ ต๋ค. ์ง์ ๋ถํ ๋ชจ๋์ด๋ผ๋ ์ฌ์ค์ ์๊ฐํ๋ค. ๊ทธ๋์ ์์ ์๊ฒ ์ด๋ ๊ฒ ๋งํ๋ค. “์ด๋ฐ! ์ฃผ์์ ๋ฌ์์ผ๊ฒ ๋ค!” ์๋๋ค! ์ฝ๋๋ฅผ ์ ๋ฆฌํด์ผ ํ๋ค! (p.69)
- ์ฃผ์ ๊ฑฐ๋ฆฌ๋ ์ฃผ์ : ํน๋ณํ ์ด์ ์์ด ์๋ฌด๊ฐ์ผ๋ก ํน์ ํ๋ก์ธ์ค์์ ํ๋ผ๊ณ ํ๋๊น ๋ง์ง๋ชปํด ์ฃผ์์ ๋จ๋ค๋ฉด ์ ์ ์ผ๋ก ์๊ฐ๋ญ๋น๋ค. ์ฃผ์์ ๋ฌ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค๋ฉด ์ถฉ๋ถํ ์๊ฐ์ ๋ค์ฌ ์ต๊ณ ์ ์ฃผ์์ ๋ฌ๋๋ก ๋ ธ๋ ฅํ๋ค. (p.76)
- ์๋ฌด์ ์ผ๋ก ๋ค๋ ์ฃผ์ : ๋ชจ๋ ํจ์์ Javadocs๋ฅผ ๋ฌ๊ฑฐ๋ ๋ชจ๋ ๋ณ์์ ์ฃผ์์ ๋ฌ์์ผ ํ๋ค๋ ๊ท์น์ ์ด๋ฆฌ์๊ธฐ ๊ทธ์ง์๋ค. ์ด๋ฐ ์ฃผ์์ ์ฝ๋๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ค๋ฉฐ, ๊ฑฐ์ง๋ง์ ํผ๋จ๋ฆฌ๊ณ , ํผ๋๊ณผ ๋ฌด์ง์๋ฅผ ์ด๋ํ๋ค. (p.80)
- ์ด๋ ฅ์ ๊ธฐ๋กํ๋ ์ฃผ์ : ์์ ์๋ ๋ชจ๋ ๋ชจ๋ ์ฒซ๋จธ๋ฆฌ์ ๋ณ๊ฒฝ ์ด๋ ฅ์ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌํ๋ ๊ด๋ก๊ฐ ๋ฐ๋์งํ๋ค. ๋น์์๋ ์์ค ์ฝ๋ ๊ด๋ฆฌ ์์คํ ์ด ์์์ผ๋๊น. ํ์ง๋ง ์ด์ ๋ ํผ๋๋ง ๊ฐ์ค ํ ๋ฟ์ด๋ค. ์์ ํ ์ ๊ฑฐํ๋ ํธ์ด ์ข๋ค. (p.80)
- ๋ซ๋ ๊ดํธ์ ๋ค๋ ์ฃผ์ : ๋ซ๋ ๊ดํธ์ ์ฃผ์์ ๋ฌ์์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค๋ฉด ๋์ ์ ํจ์๋ฅผ ์ค์ด๋ ค ์๋ํ์. (p.85)
- HTML ์ฃผ์ : ์์ค ์ฝ๋์์ HTML ์ฃผ์์ ํ์ค ๊ทธ ์์ฒด๋ค. ๋ค์ ์ฝ๋๋ฅผ ์ฝ์ด๋ณด๋ฉด ๋ฌด์จ ๋ง์ธ์ง ์๋ฆฌ๋ผ. HTML ์ฃผ์์ (์ฃผ์์ ์ฝ๊ธฐ ์ฌ์์ผ ํ๋) ํธ์ง๊ธฐ/IDE์์์กฐ์ฐจ ์ฝ๊ธฐ๊ฐ ์ด๋ ต๋ค. (Javadocs์ ๊ฐ์) ๋๊ตฌ๋ก ์ฃผ์์ ๋ฝ์ ์น ํ์ด์ง์ ์ฌ๋ฆด ์์ ์ด๋ผ๋ฉด ์ฃผ์์ HTML ํ๊ทธ๋ฅผ ์ฝ์ ํด์ผ ํ๋ ์ฑ ์์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์๋๋ผ ๋๊ตฌ๊ฐ ์ ธ์ผํ๋ค. (p.87)
- ๋๋ฌด ๋ง์ ์ ๋ณด : ์ฃผ์์๋ค ํฅ๋ฏธ๋ก์ด ์ญ์ฌ๋ ๊ด๋ จ ์๋ ์ ๋ณด๋ฅผ ์ฅํฉํ๊ฒ ๋์ด๋์ง ๋ง๋ผ. (p.88)
- ํจ์ ํค๋ : ์งง์ ํจ์๋ ๊ธด ์ค๋ช ์ด ํ์ ์๋ค. ์งง๊ณ ํ ๊ฐ์ง๋ง ์ํํ๋ฉฐ ์ด๋ฆ์ ์ ๋ถ์ธ ํจ์๊ฐ ์ฃผ์์ผ๋ก ํค๋๋ฅผ ์ถ๊ฐํ ํจ์๋ณด๋ค ํจ์ฌ ์ข๋ค. (p.89)
๐ ์ค๋ ์ฝ์ ์๊ฐ ๋ฐ ๋ ์ค๋ฅด๋ ์๊ฐ
์ด๋ฒ ์ฃผ์์ ๋ํ ๋ด์ฉ์ ์ฌ์ค ๋ง์ด ์ถฉ๊ฒฉ์ ์ด์๋ค. ๊ทธ๋์ ๋ด๊ฐ ์๊ณ ์์๋ ์ฃผ์์ ๋ํ ์ง์๋ค๊ณผ ๊ทธ๋์ ํด์๋ ํ๋๋ค ๋๋ถ๋ถ์ด ๋ค ์๋ชป๋์ด ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋์ธ์ง ๊ธฐ์ต์ ์ ๋์ง ์์ง๋ง ๊ณผ๊ฑฐ ์ด๋๊ฐ์์ ์ฝ๋ฉ์ ๋ฐฐ์ธ ๋๋ “์ฃผ์์ ์ต๋ํ ๋ง์ผ๋ฉด ์ข๋ค. ๊ทธ๋ฌ๋ ์ฃผ์์ ์ด์ฌํ ๋ฌ์๋ผ!”๋ผ๋ ๋ง์ ๊ฐ์ฌ์๊ฒ ๋ค์์ ์ด ์๋ค. ๋๊ฐ ์ด ์์ค ์ฝ๋๋ฅผ ๋ณด๋๋ผ๋ ๋ด์ฉ์ ์ ์ ์ ์๊ฒ ์ฃผ์์ผ๋ก ์ค๋ช ์ ์ฃผ๊ตฌ์ ์ ๋ฌ์๋๋ผ๋์์ ๊ฐ๋ฅด์นจ์ ๋ฐ์์ ์ด ์์๋ค. ๊ทธ๋์ ๊ทธ๋๋ถํฐ ํ์ํ ๊ฒฝ์ฐ ์์ค ์ฝ๋์๋ค๊ฐ ์ฃผ์์ ์ฃผ๊ตฌ์ ์ ๋ค๋ ์ต๊ด์ด ์๊ธฐ๊ฒ ๋์๋ค. ๊ทผ๋ฐ ํด๋ฆฐ ์ฝ๋ ์ฑ ์ ์ฝ๊ณ ๋๋ ์ฃผ์์ผ๋ก ๊ทธ๋ฐ ๊ฒ๋ค์ ์ค๋ช ํ ๊ฒ์ด ์๋๋ผ ์์ค ์ฝ๋๋ฅผ ์ ์ง์ ์ฝ๋ ์์ฒด๋ก ์ค๋ช ์ด ์ ๋๊ฒ ๋ง๋๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค๋ ๊ฒ์ ์๊ฒ ๋๋ค. ๊ทธ๋์ ์ ๋ง ๋ฌด์งํ๊ณ ์ค๋ ฅ์ด ๋ง์ด ๋ถ์กฑํ๊ตฌ๋๋ผ๊ณ ๋๋๋ค.
'ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] ํด๋ฆฐ์ฝ๋(Clean Code) - 6์ฅ. ๊ฐ์ฒด์ ์๋ฃ ๊ตฌ์กฐ (0) | 2022.03.01 |
---|---|
[TIL] ํด๋ฆฐ์ฝ๋(Clean Code) - 5์ฅ. ํ์ ๋ง์ถ๊ธฐ (0) | 2022.02.28 |
[TIL] ํด๋ฆฐ์ฝ๋(Clean Code) - 3์ฅ. ํจ์ (0) | 2022.02.22 |
[TIL] ํด๋ฆฐ์ฝ๋(Clean Code) - 2์ฅ. ์๋ฏธ ์๋ ์ด๋ฆ (0) | 2022.02.20 |
[TIL] ํด๋ฆฐ์ฝ๋(Clean Code) - ์ถ์ฒ์ฌ ~ 1์ฅ. ๊นจ๋ํ ์ฝ๋ (0) | 2022.02.19 |