์ ๋ฌธ์ ์ธ ์ฝ๋ ๋ฆฌํฉํ ๋ง ์๋น์ค. ๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ์ฝ๋ ํ์ง, ๊ฐ๋ ์ฑ, ์ ์ง๋ณด์์ฑ์ ํฅ์์์ผ, ์ฆ๊ฒ๊ฒ ์์ ํ ์ ์๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค.
์์ํ๊ธฐ
๋์ ์ฝ๋๋ ๋ชจ๋ ๊ฒ์ ์ง์ฐ์ํต๋๋ค โ ์ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ ์ค๋ ๊ฑธ๋ฆฌ๊ณ , ๋ฒ๊ทธ๋ ๊ณ ์น๊ธฐ ์ด๋ ค์ฐ๋ฉฐ, ์ ๊ท ๊ฐ๋ฐ์ ์จ๋ณด๋ฉ์ ๊ณ ํต์ค๋ฝ์ต๋๋ค. ๋น์ฌ๋ ๊ตฌ์กฐ, ๋ช ๋ช , ํจํด, ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๊ฐ์ ํ๊ณ ์ ํํ ๊ธฐ๋ฅ ๋๋ฑ์ฑ์ ์ ์งํ๋ฉด์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๋ฆฌํฉํ ๋งํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ: ๋ ๋น ๋ฅธ ๊ฐ๋ฐ ์๋์ ๋ ํ๋ณตํ ์์ง๋์ด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
๋น์ฌ๋ ์ ์ ๋ถ์ ๋๊ตฌ(ESLint, SonarQube, TypeScript ์ปดํ์ผ๋ฌ)๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ์๋ณํ๊ณ , ์์ ํ ๋ณํ์ ์ํ ์๋ํ๋ ๋ฆฌํฉํ ๋ง ๋๊ตฌ, ๊ทธ๋ฆฌ๊ณ ๋์ ๋ณด์กด์ ๊ฒ์ฆํ๊ธฐ ์ํ ํฌ๊ด์ ์ธ ํ ์คํธ ์ค์ํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ชจ๋ ๋ฆฌํฉํ ๋ง์ ์ง์์ ์ธ ํตํฉ ๊ฒ์ฆ๊ณผ ํจ๊ป ์ ์ง์ ์ผ๋ก ์ํ๋ฉ๋๋ค.
์ฝ๋๋ฒ ์ด์ค์ ์๋ ๊ฐ์ ๋จ์ถํค, ๋ถ์ผ์น, ๋ณต์ก์ฑ์ด ์์ฌ ๊ฐ๋ฐ ์๋๊ฐ ๋๋ ค์ง ํ์ ์ํ ๊ฒ์ ๋๋ค. ๋ง์ฝ ์์ง๋์ด๋ค์ด ์ฝ๋์ ํน์ ๋ถ๋ถ์์ ์์ ํ๋ ๊ฒ์ ๊บผ๋ คํ๊ฑฐ๋, ๊ธฐ๋ฅ ๊ฐ๋ฐ์ด ์์๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ๊ฑฐ๋, ๋์ผํ ์์ญ์์ ๋ฒ๊ทธ๊ฐ ๊ณ์ ์ฌ๋ฐํ๋ค๋ฉด โ ๋ฆฌํฉํ ๋ง์ ๋น ๋ฅด๊ฒ ๊ทธ ๊ฐ์น๋ฅผ ์ฆ๋ช ํ ๊ฒ์ ๋๋ค.
์ฝ๋ ํ์ง ์งํ ๋ถ์, ํซ์คํ ์๋ณ, ๋ณต์ก์ฑ ์ธก์ , ๋ฆฌํฉํ ๋ง ๋์ ์ฐ์ ์์ ์ง์ .
์ค์ ๊ฒฝ๋ก์ ๋ํ ํน์ฑ ํ ์คํธ ์์ฑ, CI ํ์ดํ๋ผ์ธ ๊ตฌ์ถ, ๋ฆฌํฉํ ๋ง ์์ ๊ณํ.
์๊ณ ๊ฒํ ๊ฐ๋ฅํ PR์์ ๋ฆฌํฉํ ๋ง ์ํ โ ๊ฐ PR์ ๋ณํฉ ์ ์ ํ ์คํธ ๋ฐ CI์ ์ํด ๊ฒ์ฆ๋ฉ๋๋ค.
๋ฆฐํ ๊ท์น ๊ตฌ์ฑ, ์ํคํ ์ฒ ํ ์คํธ ์ถ๊ฐ, ํ๊ท ๋ฐฉ์ง๋ฅผ ์ํ ๊ท์น ๋ฌธ์ํ.
ํ๊ณผ ํจํด ๊ฒํ , ๊ธฐ์ฌ ๊ฐ์ด๋๋ผ์ธ ์ ๋ฐ์ดํธ, ์ฝ๋ ๋ฆฌ๋ทฐ ํ์ค ํ๋ฆฝ.
์ฌ๋ฌ๋ถ์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ํ์ด ์ฆ๊ฒ๊ฒ ์์ ํ ์ ์๋ ๊ฒ์ผ๋ก ๋ณํ์ํค์ธ์ โ ๋ ๋น ๋ฅธ ๊ธฐ๋ฅ, ๋ ์ ์ ๋ฒ๊ทธ.
์ ํฌ๋ ํจ์ ๋ฐ ํด๋์ค ์ถ์ถ, ์์กด์ฑ ์ฃผ์ ๋ฆฌํฉํ ๋ง, ๋์์ธ ํจํด ๊ตฌํ, ์ฃฝ์ ์ฝ๋ ์ ๊ฑฐ, ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง ๊ฐ์ ๋ฐ ์ฝ๋๋ฒ ์ด์ค ๋ชจ๋ํ๋ฅผ ํตํด ์ ์ง๋ณด์์ฑ ๋ฐ ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ํฅ์์ํต๋๋ค.
MicrocosmWorks์ ์ฝ๋ ๋ฆฌํฉํ ๋ง ๋ฐ ์ ๋ฆฌ ์๋น์ค๋ ์๊ฐ๋น $10-$35์ ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ์ด๋ฅผ ํตํด ํฉ๋ฆฌ์ ์ธ ๊ฐ๊ฒฉ์ผ๋ก ์ฝ๋ ํ์ง์ ํฅ์์ํค๊ณ , ๋ฒ๊ทธ๋ฅผ ์ค์ด๋ฉฐ ํฅํ ๊ฐ๋ฐ ์๋๋ฅผ ๋์ผ ์ ์์ต๋๋ค.
์ ํฌ๋ ๋ณ๊ฒฝ ๋น๋ (ํซ์คํ), ์ฝ๋ ๋ณต์ก๋ ์งํ, ๋ฒ๊ทธ ๋ฐ๋, ๊ทธ๋ฆฌ๊ณ ๋น์ฆ๋์ค ์ํฅ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฆฌํฉํ ๋ง ์ฐ์ ์์๋ฅผ ์ ํฉ๋๋ค. ์์ฃผ ๋ณ๊ฒฝ๋๊ณ ๋ณต์ก๋๊ฐ ๋์ ์ฝ๋๊ฐ ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ๊ฐ์ฅ ํฐ ๊ฐ์น๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋จผ์ ๋ฆฌํฉํ ๋ง๋ฉ๋๋ค.
๋ค, ์ฝ๋๋ฒ ์ด์ค๊ฐ ๋ค์ ์ ํ๋์ง ์๋๋ก ํฅํ ์ผ๊ด๋ ์ฝ๋ฉ ํ์ค์ ๊ฐ์ ํ๋๋ก ์ฌ์ฉ์ ์ง์ ๊ท์น ๊ตฌ์ฑ, pre-commit ํ , CI ๊ฒ์ฌ์ ํจ๊ป ESLint, Prettier ๋๋ ์ธ์ด๋ณ ๋ฆฐํฐ๋ฅผ ์ค์ ํด ๋๋ฆฝ๋๋ค.