ํด๋ฆฐ์ํคํ ์ฒ๋ ์ด๋ก ๋ฌธ์๊ฐ ์๋๋ผ, ๊ธฐ๋ฅ์ด ๋์ด๋ ์ฝ๋๊ฐ ๋ฌด๋์ง์ง ์๊ฒ ๋ง๋๋ ์ด์ ์ฅ์น์ ๋๋ค. ์์ด์ ํธ์ ํจ๊ป ๊ฐ๋ฐํ ๋๋ ํนํ ๊ฒฝ๊ณ ์ค๊ณ๊ฐ ์ค์ํฉ๋๋ค. ๊ฒฝ๊ณ๊ฐ ๋์จํ๋ฉด ์์ฑ ์๋๋ ๋นจ๋ผ๋ ์ ์ง๋ณด์ ๋น์ฉ์ด ๋น ๋ฅด๊ฒ ์ฌ๋ผ๊ฐ๋๋ค.
์ด ๋ฌธ์๋ Codex๋ฅผ ์ฐ๋ ๊ฐ๋ฐํ ๊ธฐ์ค์ผ๋ก ๊ตฌ์กฐ๋ฅผ ๋จผ์ ๊ณ ์ ํ๊ณ , ํ ์คํธ๋ก ๊ฒฝ๊ณ๋ฅผ ์ ๊ทธ๋ ์ค์ ๋ฃจํ๋ฅผ ๋ค๋ฃน๋๋ค.
์๋ด: ๋ณธ๋ฌธ์ ์์ฑํ AI๋ฅผ ํ์ฉํด ์ด์์ ์์ฑํ๊ณ , ๊ณต๊ฐ๋ ๊ณต์/์๋ฌธ ์๋ฃ๋ฅผ ๊ต์ฐจ ํ์ธํด ์ค๋ฌด ์ด์ ๊ด์ ์ผ๋ก ๋ณด๊ฐํ์ต๋๋ค.
flowchart TD A[์๊ตฌ์ฌํญ] --> B[UseCase ์ ์] B --> C[Interface ๋ถ๋ฆฌ] C --> D[Infra ์ฐ๊ฒฐ] D --> E[Test ๊ฒ์ฆ] E --> F[์์ ๋ฆฌํฉํ ๋ง]
๐ง ์น ํ ์นํธ์ํธ
- ๊ตฌ์กฐ๋ฅผ ๋จผ์ ๊ณ ์ ํ๋ฉด ๊ตฌํ์ด ๋นจ๋ผ์ง๋ค
- domain์ ์ธ๋ถ ์์กด์ ๋ชจ๋ฅด๋ฉด ์ ๋๋ค
- ํ ์คํธ๊ฐ ๊ฒฝ๊ณ๋ฅผ ์งํค๋ ๊ฐ์ฅ ๊ฐํ ์ฅ์น๋ค
- ํฐ ์ค๊ณ๋ณด๋ค ์์ ๋จ์ ๊ฒ์ฆ์ด ์ค๋ฌด์ ๋ง๋ค
- ๊ฒฝ๊ณ ์๋ฐ์ ๋ฆฌ๋ทฐ๊ฐ ์๋๋ผ ์๋ ์ฒดํฌ๋ก ๋ง๋๋ค
์ค๋ฌด ์๋๋ฆฌ์ค
- ๋๋ฉ์ธ: ์ฃผ๋ฌธ ์์ฑ
- ์กฐ๊ฑด:
- domain ๋ ์ด์ด ์ธ๋ถ ํ๋ ์์ํฌ ์์กด ๊ธ์ง
- usecase ํ ์คํธ ๋จ๋ ์คํ ๊ฐ๋ฅ
- ์์ธ ์ฝ๋/๋ฉ์์ง ๊ท์น ํต์ผ
30๋ถ ์คํ ๋ฃจํ
1) ๊ตฌ์กฐ ๋ผ๋ ๋จผ์ ๋ง๋ค๊ธฐ (10๋ถ)
๊ถ์ฅ ๊ธฐ๋ณธ ๊ตฌ์กฐ:
domain/: ์ํฐํฐ, ๋๋ฉ์ธ ๊ท์นusecase/: ์ ๋ฌด ํ๋ฆinterface/: ํฌํธ/๊ณ์ฝinfra/: DB/API ๊ตฌํ
Codex ์์ฒญ์ ๊ตฌํ๋ณด๋ค ๊ฒฝ๊ณ๋ฅผ ๋จผ์ ์ง์ํ๋ ํธ์ด ์ข์ต๋๋ค.
2) ์ ์ค์ผ์ด์ค + ํ ์คํธ ๊ณ ์ (15๋ถ)
์ต์ ํ ์คํธ ์ธํธ:
- ์ ์ ์ฃผ๋ฌธ ์์ฑ
- ํ์๊ฐ ๋๋ฝ ์์ธ
- ์ค๋ณต ์ฃผ๋ฌธ ๋ฐฉ์ง
์ด ๋จ๊ณ์ ๋ชฉํ๋ ๊ธฐ๋ฅ ํ์ฅ์ด ์๋๋ผ โ๊ฒฝ๊ณ๊ฐ ์ค์ ๋ก ์ง์ผ์ง๋์งโ ํ์ธ์ ๋๋ค.
3) ๊ฒฝ๊ณ ์ ๊ฒ + ์ ๋ฆฌ (5๋ถ)
- domain import ๊ท์น ์๋ฐ ์ฌ๋ถ
- ํ ์คํธ ํต๊ณผ ์ฌ๋ถ
- ์์ธ ์ฒ๋ฆฌ ๊ท์น ์ผ๊ด์ฑ
๋ฏธ๋ ์ฌ๋ก 2๊ฐ์ง
์ฌ๋ก A) ๊ตฌํ๋ถํฐ ์์ํด ๊ฒฝ๊ณ๊ฐ ๋ฌด๋์ง ํ
์ด๊ธฐ์ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐ๋์ง๋ง, ์ธํ๋ผ ์ฝ๋๊ฐ ๋๋ฉ์ธ์ผ๋ก ์นจํฌํด ๋ฆฌํฉํ ๋ง ๋น์ฉ์ด ์ปค์ก์ต๋๋ค. ๊ตฌ์กฐ ์ ์ธ๊ณผ ๊ฒฝ๊ณ ํ ์คํธ๋ฅผ ๋จผ์ ๋ถ์ธ ๋ค ์์ ์๋๊ฐ ์์ ๋์ต๋๋ค.
์ฌ๋ก B) ํ ์คํธ๊ฐ ์ธํ๋ผ์ ๋ฌถ์ฌ ๋๋ ธ๋ ํ
์ ์ค์ผ์ด์ค ํ ์คํธ๋ฅผ ์ธํ๋ผ์์ ๋ถ๋ฆฌํ์ ํ ์คํธ ์๊ฐ์ด ํฌ๊ฒ ์ค๊ณ , ๋ฆฌ๋ทฐ ์ฃผ๊ธฐ๊ฐ ์งง์์ก์ต๋๋ค.
์ค์ต๋ ธํธ ํ ํ๋ฆฟ
- ๋๊ตฌ: VS Code, Codex, pytest
- ์ ๋ ฅ: ์ฃผ๋ฌธ ์์ฑ ์๊ตฌ์ฌํญ 1๊ฑด
- ์คํ: ๊ตฌ์กฐ ๊ณ ์ โ ์ ์ค์ผ์ด์ค โ ํ ์คํธ โ ๊ฒฝ๊ณ ์ ๊ฒ
- ์ฑ๊ณต ํ์ : ๊ฒฝ๊ณ ์๋ฐ 0๊ฑด + ํ ์คํธ ํต๊ณผ
- ์ ์ถ๋ฌผ: ํด๋ ํธ๋ฆฌ, ํ ์คํธ ๋ก๊ทธ, ํต์ฌ diff
20๋ถ ๋์ ๋ฃจํด
- 10๋ถ: ํ์ฌ ์๋น์ค 1๊ฐ๋ฅผ domain/usecase/infra๋ก ๋ถํด
- 5๋ถ: ๊ฒฝ๊ณ ์๋ฐ ์ฒดํฌ ๊ท์น 1๊ฐ ์ถ๊ฐ
- 5๋ถ: ์ ์ค์ผ์ด์ค ํ ์คํธ 1๊ฐ ์ถ๊ฐ