ํด๋น ๊ธ์ Kent-Beck์ ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ By Example ์ด๋ผ๋ ์ฑ ์ ์ฝ๊ณ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌ ๋ฐ ํ๊ณ ํ๋ ๊ธ ์ ๋๋ค. ์์ธํ ์ฌํญ์ YES 24 ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ ์์ ํ์ธํด์ฃผ์ธ์.
ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ - Test Driven Development By Example (Kent-Beck)
- ์ธ์ฌ์ดํธ(insight)
- ์ง์์ด: Kent-Beck
- ์ฎ์์ด: ๊น์ฐฝ์ค, ๊ฐ๊ท์ญ
- ์ถ๊ฐ์ผ: 2014.02.15
2์ฅ ํ๋ฝํ ๊ฐ์ฒด
- TDD ์ต์ข
๋ชฉํ
- ๋ถํ ์ ๋ณต
- Green ์ฌ์ดํด๋ก ๊ฐ๊ธฐ ์ํ ๋น ๋ฅธ ๋ฐฉ๋ฒ
- ์์ ์ฌ์ฉํ๊ธฐ
- ๋ช ๋ฐฑํ ๊ตฌํ ์ฌ์ฉํ๊ธฐ
- ์ฝ๋์ ๋ถ์์ฉ ์๊ฐํ๊ธฐ
TDD ์ต์ข ๋ชฉํ
TDD ์ ์ต์ข
๋ชฉํ๋ Clean Code That Works ์ด๋ค.
์ผ๋ฐ์ ์ธ ํ๋ก๊ทธ๋๋จธ๋ค์ Clean Code That Works๋ฅผ ํ ๋ฒ์ ์ํํ๋ ๊ฒ์ ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ๋ฏ๋ก Clean Code์ Code That Works๋ฅผ ์๋ก ๋๋ ์ ์๊ฐํ์๋ ๊ฒ์ด๋ค.
์ด๋ ์ฐ๋ฆฌ๊ฐ ํํ ์๋ ๋ถํ ์ ๋ณต์ ๊ธฐ๋ฒ์ด๋ค.
Green ์ฌ์ดํด๋ก ๊ฐ๊ธฐ ์ํ ๋น ๋ฅธ ๋ฐฉ๋ฒ
- ์์ ์ฌ์ฉํ๊ธฐ
- ๋ช ๋ฐฑํ ๊ตฌํ ์ฌ์ฉํ๊ธฐ
์ฐ๋ฆฌ๊ฐ Red ์ฌ์ดํด์์ ๊ตฌํ์ ํ๋ค๊ฐ ์ฌ๋น ๋ฅด๊ฒ Green์ผ๋ก ๋์ด๊ฐ์ผ ํ ๋, ์ฐ๋ฆฌ๋ 3๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์๋ค.
3๋ฒ์งธ๋ ๋ด์ ์ค๋ช
ํ๊ณ ์ฒซ ๋ฒ์งธ๋ ์์ ํ๋ ๊ฒ ์ฒ๋ผ ์์๋ฅผ ์ฌ์ฉํด์ ์ผ๋จ ํต๊ณผ๋๊ฒ ํ๋ ๊ฒ.
๋ ๋ฒ์งธ๋ ๋ด๊ฐ ์ถฉ๋ถํ ํด๋น ๋ก์ง์ ํธ๋ค๋งํ ์ ์๋ค๋ฉด ๊ตฌํํ๊ณ ํต๊ณผ๋๊ฒ ํ์.
๊ทผ๋ฐ ๊ทธ๊ฒ ํ๋ค๋ค๋ฉด ์์๋ฅผ ์ฌ์ฉํด์ ํ์.
์ผํธ ๋ฒก๋ 2๊ฐ๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ฌ์ฉํ๋ค๊ณ ํ๋ค
์ฝ๋์ ๋ถ์์ฉ ์๊ฐํ๊ธฐ
์ด๋ฒ ์ฅ์์๋ Dollor๊ฐ ๋ถ์์ฉ์ ๋ฐ์์ํค๋ ๊ฒ์ ์์ธกํ๊ณ ์ด๋ฅผ ๋ฆฌํฉํ ๋ง ํ์๋ค.
์ด๋ฐ ๊ณผ์ ์ด ์ฆ์์ง ์๋ก ์ค์ ์ค๊ณ์์ ์ํ ์์ธ์ ์ธ์งํ๋ ๋ฐ์ ๋์์ด ๋๋ค.
Dollor์ ๋ถ์์ฉ์ ํ ๋ฒ ๊ฐ์ด ์ธํ
๋๋ค๋ฉด ์๋ฅผ ๋ค์ด Dollar five = new Dollar(5)
์ ๊ฐ์ด.
ํด๋น ๊ฐ์ฒด์ amount = 5
๋ก ๊ณ ์ ์ด ๋๋ค.
๊ทธ๋ฆฌ๊ณ times()
๋ฉ์๋๋ฅผ ํตํด์ amount์ ๊ฐ์ ๊ฐฑ์ ํ๋๋ฐ, ๋ฉ์๋ ๋ด๋ถ์์ amount *= times
๋ก ์์ ํ๊ธฐ ๋๋ฌธ์ ์ต์ด์ 5๋ผ๊ณ ์ง์ ํ five ๊ฐ์ฒด๋ ์ต์ด์ 5๋ผ๋ ์๋ฅผ ๋ฃ์๋ ์๊ฒฐํ ๊ฐ์ฒด๊ฐ ์๋๋ค.
๋๊ธ