ํ ์คํธ ์ฝ๋
๋๋ ํ ์คํธ ์ฝ๋ ์์ฑ๊น์ง๊ฐ ๊ฐ๋ฐ์ ์์ฑ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๊ฐ๋ฐ์ ์์์ ํ ์คํธ๋ผ๊ณ ๋ณด๋ TDD๋ฅผ ์ฃผ์ฅํ๋ ์ฌ๋์ ์๋๋ค. (ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๋ ํ๊ตญ์ ๊ฐ๋ฐ ๋ฌธํ ํ์ธ์ง ๋๋ผ์ธ ์ ๋๋ก ์์ฃผ, ๋จ์ํ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด TDD๋ผ๊ณ ์๊ฐํ๋ ์ฌ๋๋ค์ด ์๋๋ฐ ๋ง๋ ๊ตฌ์ ํ๋ ์์ด ๋จ๋จํ ํ๋ฆฐ ์๊ฐ์ด๋ค.) ํ ์คํธ ์ฝ๋๊ฐ ์๊ณ ์๊ณ ๋ ์์ฑํ ์ฝ๋๊ฐ ์๋ํ ๋๋ก ๋์ํ๋์ง, ์ถ๊ฐ์ ์ธ ๋ณ๊ฒฝ์ฌํญ์ด ๊ธฐ์กด์ ๋์์ ๋ง๊ฐํธ๋ฆฌ์ง๋ ์๋์ง, ์ด์ ์ ๋ฐ์ํ ๋ฒ๊ทธ๊ฐ ๋ค์ ๋ฐ์ํ์ง๋ ์๋์ง, ๊ตฌ์กฐ๋ฅผ ๋ฐ๊พธ์์ ๋ ์๊ธฐ๋ ๋ฌธ์ ๊ฐ ์์ง๋ ์์์ง ๋ฑ์ ์์ด ์ ํํ 0๊ณผ 1๋งํผ์ ์ฐจ์ด๊ฐ ๋๋ค. ์ด๋ฏธ ๊ตฌ๋ฅ๋ค๋ฆฌ๊ฐ ๋ ํํ์ด์ง๋ง self-documentingํ๋ค๋ ์ ์์๋ ๊ธฐ์กด ์ฝ๋ ์ดํด์ ํ๋ฅญํ ๋์์ด ๋๋ค.
์ ์ํ๊ฒ๋ ๋๋ ์ด ์๊ฒฌ์ ๋์ํ๋ ํ์ ๋ง๋๋ณด์ง ๋ชปํ๋ค. ๋๋ฆ๋๋ก์ ์ด๊ณผ ์ฑ์ ๋คํด ์ ๋๋ ํด๋ณด๊ณ , ๋ถ๋ถ์ ์ผ๋ก ์ฑ๊ณตํ ์ ๋ ์๊ธด ํ๋ฐ, ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๊ทธ๋ ๋ค. ๋ฌต๋ฌตํ ๋์ ํ ์คํธ ์ฝ๋๋ฅผ ์ฐ๋ ค ํ์ง๋ง ์กฐ์ง์ ํ ์คํธ ์ฝ๋๋ฅผ ์ฐ๋ ๋ฌธํ๊ฐ ์๋ค๋ฉด ํผ์์๋ ์๋ฌด๋ฆฌ ์จ๋ ์๋ฏธ๊ฐ ํฌ๊ฒ ํด์๋๋ ๊ฒ์ด ์ฌ์ค์ด๋ค. ํ ์คํธ ๋ฌธํ๊ฐ ์๋ ์กฐ์ง์์๋ CI/CD์์ ํ ์คํธ ์ฝ๋๊ฐ ๋์ง ์๊ธฐ ๋๋ฌธ์ ์๋ฏธ๊ฐ ๋ฐ๊ฐ๋๊ณ , ์ ์ฒด ์ค์ํธ๋ฅผ ๋๋ฆฌ๋ฉด ์ ๊ฐ๋ ์ ๊ฐ์์์ ๊ธธ๊ฒ๋ ์ฐ ๋จ์๋ก ์ ์ง๋ณด์๋์ง ์์ ์ผ์ด์ค๋ค์ด ์ฐ์์ ์คํจํ๊ธฐ ๋๋ฌธ์ ๋๋จธ์ง ์ ๋ฐ์ ์๋ฏธ๊ฐ ์ฌ๋ผ์ง๋ค.
์์ธ์ ๋ค์ํ๋ค. ์๊ฐ์ด ์์ด์. ์ต์ํ์ง ์์์. ๋ชฐ๋ผ์. ์ค์ํ์ง ์์์. ํ ์คํธ ์ฝ๋๊ฐ ์๋ค๋ฉด ์์ฑํ ์ฝ๋๊ฐ ์๋ํ ๋๋ก ๋์ํ๋์ง๋ ์๋์ผ๋ก ํ์ ํด์ผ ํ๊ณ , ๋ฌธ์ ๊ฐ ํฐ์ง ๋ค์์์ผ ์ด๋์ ๋ฌธ์ ๊ฐ ์๊ฒผ๋์ง๋ฅผ ์ถ์ ํด์ผ ํ๋ค. ํ ์คํธ๋ฅผ ์ด๋ค๊ณ ๋ชจ๋ ๋ฌธ์ ์ bulletproof๊ฐ ๋๋ ๊ฒ๋ ์๋๊ณ , ์ต๊ทผ ๋ค์ด์๋ ๋๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ๊ฒ๋ณด๋ค ๋๋ ๊ทธ๋งํผ์ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์ ์ํ๊ฒ ํ์ ํ๊ณ ํด๊ฒฐํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ๋ฏฟ๊ฒ ๋์์ง๋ง, ํ ์คํธ ์ฝ๋๋ ๋ฌด์จ ๋๋จํ ์ค๋ ฅ ์๋ ๊ฐ๋ฐ์๊ฐ ๋ฌด์ง๋ง์งํ ์ฌ์ ๊ฐ ์์ด์ ํ๋ ์ผ์ด ์๋๋ค. ํ ์คํธ ์ฝ๋ ์์ด๋ผ๋ฉด ์๋์ผ๋ก, ํ๋ค๊ฒ, ๋ณต์กํ๊ณ ์ด๋ ต๊ฒ ํด์ผ ํ๋ ์ผ์ ๊ธฐ๊ณ๊ฐ ๋์ ํ๋๋ก ํด์ฃผ๋ ์ผ์ผ ๋ฟ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์์ ์ผ์ ๊ธธ๊ณ ๊ท์ฐฎ๊ณ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๊ธฐ๊ณ๊ฐ ๋์ ํ๋๋ก ๋ง๋๋ ๊ฒ์ด๋ค.