ํ๋ฉด ์ข์๊ฒ ์๋๋ค. ๊ทธ๋ฅ ํ์ ์์.
pull request์ ๋ํ ๋ฆฌ๋ทฐ๋ผ๊ณ ๋ณผ ์ ์๋ค.
์ฝ๋๋ฆฌ๋ทฐ ๊ณผ์ ์ด ์์ผ๋ฉด ์ฝ๋์ฌ๋์ ์ํ ์ฝ๋๋ฅผ ์ง๊ฒ ๋จ.
์์ ์ ์/์ ์ํ ์ด์ /๋ ํผ๋ฐ์ค
์ฝ๋๋ฆฌ๋ทฐ๋ ํ์.
๊ฑด์ค์ ์ธ ํผ๋๋ฐฑ์ ํ๋ ๊ฒ์ด ์ค์. ๊ฐ๋ฐ์๋ ์ฌ๋.
์คํ์ผ ๊ฐ์ด๋๋ฅผ ์งํค๋ ๋ฐฉ๋ฒ.
์๊ตฌ์ฌํญ๊ณผ ๊ตฌํ๋ฅผ ๋ถ๋ฆฌ.
ํ ์คํธ๋ ์คํ๊ฐ๋ฅํ ๋ฌธ์๋ค.
๊ตฌํ ์ฝ๋๋ฅผ ์์ฑ ํ๊ธฐ ์ ํ ์คํธ ์ฝ๋๋ถํฐ ์์ฑํ๋ ๊ฒ (test driven).
๋ด ์์ผ๋ก ์ฝ๋๊ฐ ์ ์ง์๋์ง ํ์ธํ์ง๋ง๊ณ ๊ธฐ๊ณ์๊ฒ ์์ผ๋ผ!
Testing
- ๊ตฌํํ๊ธฐ ์ ํน์ ๊ฐ๋ฐ ๊ณผ์ ์ค์,
- ์๊ตฌ์ฌํญ(๊ธฐ๋๊ฐ, ๋ฐ๋์งํ ํ๋)์ ๋ํ ๋ช ์ธ์
- ๊ทธ ์๊ตฌ์ฌํญ์ด ์ ๋์ถ ๋๋์ง ํ์ธํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ณผ์
- ๋จ์ ๋ณ(e.g. ํจ์ ๋ณ)๋ก ๊ฒ์ฌ
"์ด๋ฐ ์ธํ์์๋ ์ด๋ฐ ์์ํ์ด ๋์์ผํด ๋ผ๋ ๋ช
์ธ๋ฅผ ๊ธฐ์ "
"๊ธฐ๋ํ๋ ํ๋์ ํ
์คํธ๋ก ๊ธฐ์ ํ ๋ค์ ์ฝ๋๋ก ์ง๊ณ ์์ํ๋๋๋ก ์๋ํ๋์ง ๋ณด๋ ๊ฒ"
"์ด์จ๋ ์ค์ํ ๊ฑด ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ (mainํจ์์ ๊ดํธ๋ ์ด๊ธฐ ์ )์ ํ
์คํธ๋ฅผ ๋ง์ด ์ง๋๊ณ ์์ํด์ผ ํ๋ค๋ ์ "
(RB-tree ๊ตฌํ ๊ณผ์ ๋ฅผ ์๋ก ๋ค์๋ฉด test-rbtree.c ๊ฐ ํ
์คํธ ์ฝ๋.
๊ทธ๊ฑธ ์ฝ๋๋ฅผ ์ง๋ ๊ฒ์ด ํ
์คํธ๋ฅผ ๋ง๋๋ ๊ฒ์ด๊ณ , rbtree.c์ ํจ๊ป ์ปดํ์ผํด์ ๋๋ ค๋ณด๋ ๊ฒ์ด ํ
์คํธ.)
Debug
- ๊ฐ๋ฐ ์๋ฃ ํ ์คํ์ ํ๋ค๊ฐ ๋ญ๊ฐ ์๋ชป๋์์ ๋,
- ์ ์ฒด ํ๋ก๊ทธ๋๋ฐ์ ๊ฒ์ฌ
- ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ถ๋ถ์ ์ฐพ์์ ํ๊ณ ๋ค์ด๊ฐ.
sw ๋์์ ๋ฐ๊พธ์ง ์์ผ๋ฉด์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ ๊ฒ.
์ฆ, ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ์ ์ ํด์ง ๊ท์ ๋๋ก ์์ ํ๋ ๊ธฐ์ .
LGTM