์๊ณ ๋ฆฌ์ฆ ํ์ด๋ฅผ ๋๋ฆ ํด์์ง๋ง,
์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ ๋ฐ๋ก ํด๋ณธ์ ์ด ์๋ค.
๊ทธ๋์ ์ง๊ธ 1๋จ๊ณ ํ๋ฐ์ผ๋ก ๋์ด๊ฐ๋ ์์ ์์ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋๋ก ํธ๋ ๋ฒ์ (์ง๊ธ์ด๋ผ๋)
๋ฐฐ์๋ณด๊ธฐ๋ก ํ๋ค.
1๋จ๊ณ. ๋ฌธ์ ์ดํดํ๊ธฐ
1. ๋ฌธ์ ๋ฅผ ๋๋ง์ ์ธ์ด๋ก ํํํ ์ ์๋๊ฐ?
2. ์ด๋ค ์๋ฃ๊ฐ ๋ค์ด์ค๋๊ฐ?
3. ๋์ถ๋์ด์ผ ๊ฒฐ๊ณผ๋ ๋ฌด์์ธ๊ฐ? (์ถ๋ ฅ ๊ฐ์ด ์ด๋ป๊ฒ ๋์์ผ ํ๋๊ฐ)
4. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ถฉ๋ถํ ์ ๋ณด๊ฐ ์ฃผ์ด์ก๋๊ฐ? (์ฃผ์ด์ง ๋ฐ์ดํฐ๋ง ๊ฐ์ง๊ณ ์ํ๋ ๊ฐ์ ์ถ๋ ฅํ ์ ์๋๊ฐ)
5. ๋ฌธ์ ์ ์ผ๋ถ์ธ ๋ฐ์ดํฐ์ ์ค์ํ ๋ถ๋ถ์ ์ด๋ป๊ฒ ๋ผ๋ฒจ์ ์ง์ ํ ์ ์๋๊ฐ => ๋ฌธ์ ์์ ์ ๋ง ์ค์ํ ๊ฒ์ด ๋ฌด์์ธ๊ฐ
์ค์ ๋ก ๋ฌธ์ ๋ฅผ ํ์ ํ๋ค๋ฉด,
์์๋ฅผ 1-2๊ฐ ๋ง๋ค์ด๋ณด๊ธฐ.
์ฌ์ด ์์ -> ๋ณต์กํ ์์
Empty inputs, Invaild inputs ์ ๋ํ ๊ณ ๋ฏผ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ๊ธธ๋ฌ์ค ์ ์๋ค.
๋ฌธ์ ํ์ ์ด ๋ฌธ์ ๋ฅผ ๊ทธ๋ฅ ํธ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ค์ํ๋ค๊ณ ํ๋ค.
Break it Down ๋ฌธ์ ๋ฅผ ์ธ๋ถํ ํ๊ธฐ.
- ํด๊ฒฐ์ฑ ์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ์์๋ง ์์ฑํ๋ฉด ๋จ. -> ์ฝ๋๋ฅผ ์ค์ ๋ก ์ ๋ ฅํ๊ธฐ ์ ์ ํ ๋ฒ ๋ ์๊ฐํด๋ณผ ์ ์๊ฒ ํด์ค.
- ๋์ถฉ ์ดํดํ ๋ถ๋ถ์ ํ์ ํ๊ฑฐ๋, ์ดํดํ ์ ์๊ฒ ํด์ค.
- ๋จ๊ณ๋ฅผ ์์ฑํ๋ค๋ ๊ฑด, ๋ฐฉ๋ฒ์ ํ์ ํ์ง ๋ชปํด๋ ์ํํ ์์ ์ ์๊ณ ์๋ค๋ ์๋ฏธ๊ฐ ๋๋ค.
=> ์ ์ด๋ ์ ๊ทผ ๋ฐฉ๋ฒ์ ๊ณต์ํ ํ๋ค๋ ๊ฒ์ ๋ฉด์ ๊ด์์ธ ๋ณด์ฌ์ค ์ ์๋ ๊ฒ. (๋ฐฉํฅ์ฑ์ด๋ ๊ธฐ๋ณธ์ ์ดํํ ์ ์์)
(๋ต์ ๋์ถํ์ง ๋ชปํ ์ฌ๋๋ค๋ ํฉ๊ฒฉํ๋ ๊ฒ์ ๋ง์ด ๋ณด์๋ค๊ณ ํจ)
๋ฌธ์ ๊ฐ ์ ํ๋ฆด ๋๋ ์์ง๋ง,
80%๋๋ง ํ์ ์ด ์๊ฑฐ๋, ์ ๋ง ์ด๋ ค์ด ํ๋๊ฐ์ง๊ฐ ๋จ์ ์์ ์ ์๋ค.
๊ทธ๋ด ๋ '๋จ์ํ ํ๊ธฐ' ๋ฅผ ๋ ์ฌ๋ ค์ผ ํ๋ค.
ํด๊ฒฐํ ์ ์๋ ๊ฑด ํด๊ฒฐํ๊ณ ,
ํด๊ฒฐ ๋ชปํ๋๊ฑด ๋ ๋จ์ํ ํด์ผํ๋ค.
=> ๋ชจ๋ ๊ฒ์ ์ง์คํ๊ธฐ ์ํด ์๊ฐ์ด ๋ง์ด ์์๋๋ ๋ถ๋ถ์ ๋ฌด์ํด์ผ ํ๋ค.
1. ๋ฉด์ ์์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ๋ชฐ์๋ฃ๊ณ ํด๊ฒฐ์ ๋ชปํ๋๊ฑด ์ข์ ๋ชจ์ต์ด ์๋๋ค.
์ค๋ น ๊ฐ๋ก๋ง๋ ์ด๋ ค์ด ๋ถ๋ถ์ด ์๋๋ผ๋,
ํด๋น ๋ถ๋ถ์ ๋ค์ ํตํฉํด์ผ ํ๋ค๋ ๊ฒ์ ์ผ๋์ ๋๊ณ
๊ฐ๋ฅํ ์์ ์ ์ํํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์์ฑํ๋ ํธ์ด ํจ์ฌ ๋ซ๋ค.
2. ๋ณดํต ๋ฌธ์ ๋ฅผ ๋จ์ํ ํ๋ ๊ณผ์ ์์ ์ค์ ํด๊ฒฐ์ฑ ์ ๊น์ด ์ดํดํ๊ณ ๋ฌธ์ ์ ์ด๋ ค์ด ๋ถ๋ถ์ ํ์ ํ๋ฉด์ ์ ์ ํด๊ฒฐ๋๋ค.
์ฆ, ์ด๋ ค์ด ๋ถ๋ถ๋ณด๋ค ํด๊ฒฐํ ์ ์๋ ๋ถ๋ถ ๋จผ์ ๋จ์ํํด์ ํด๊ฒฐํด๋ณด๊ณ ,
๊ทธ ๋ค์์ ์ด๋ ค์ด ๋ถ๋ถ์ ๊ฐ๋ฅํ๋ฉด ๋ค์ ํตํฉ์ํค๋ ๊ฒ.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ๊ฒ ๋จ์ํ ์ํค๋ ๋จ๊ณ์์ ์ด๋ ค์ด ๋ถ๋ถ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํ๊ฒ ๋๋ค.
์ด์ ์ป์ ํด๊ฒฐ์ฑ ์ ์ข๋ ํํธ์๋ ๋๋์๋ณด๊ณ Refactor ํด์ผํ๋ค.
๊ท์ฐฎ์๋ ์๊ฐ์ ๋ด์ ์ฝ๋๋ฅผ ์ดํด๋ณด๊ณ , ๋๋์๋ณด๊ณ , ์ฑ์ฐฐํด์ผํ๋ค.
-> ๊ฐ ๊ตฌ์ฑ์์๋ฅผ ํ ์ค์ฉ ์ดํด๋ณด๋ฉด์ ๋ง์์ ๋ค์ง ์๋ ๋ถ๋ถ์ด๋,
์ฝ๋์ ํํ, ํด์ ๋ฐฉ๋ฒ, ์ดํดํ๊ธฐ ์ฌ์ด์ง์ ๋ํด ์ดํด๋ณด๊ธฐ.
๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ์ค์ํ๊ฒ ์๊ฐํ๋ ๊ฒ์ ์ฝ๋๋ฅผ ๋ณผ ๋์ ํจ์จ์ฑ.
ํ์ง๋ง ๋์ฒด๋ก ํจ์จ์ฑ๊ณผ ๊ฐ๋ ์ฑ ์ฌ์ด์ ๊ท ํ์ ๋ง์ถฐ์ผ ํ ํ์๊ฐ ์๋ค.
1. ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ ์ ์๋์?
2. ํด๊ฒฐ ๋ฐฉ๋ฒ ์ด์ธ์ ์๊ฐ๋๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์? (์์ ์๊ฐํ์ง ๋ชปํ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ ์ฉํ ์ ์๋์?)
3. ํ ๋์ ์ฝ๋๋ฅผ ๋ณผ ์ ์๋์? (์ง๊ด์ ์ธ๊ฐ์)
4. ๊ฒฐ๊ณผ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฅธ ๋ฌธ์ ์๋ ์ ์ฉํ ์ ์์๊น์?
- ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก์จ ์ป์ ์ ์๋ ํฐ ์ด์ ์ค ํ๋๋ ์ง๊ฐ์ ๋ฐ๋ฌ์์ผ ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ์ง๊ด๋ ฅ์ ๊ธธ๋ฌ์ค๋ค๋ ๊ฒ.
- ์ด์ ์ ์ ํ๋ ๋ค๋ฅธ ๋ฌธ์ ์์ ์ ์ฌ์ ์ด ์๋์ง ์๋ฌธํด๋ณด๋ ๊ฒ์ด ์ข๋ค. (ํด๊ฒฐํ๋ ๋ฌธ์ ๊ฐ ๋ค๋ฅธ ํ๋ก์ ํธ๋ ๋ค๋ฅธ ํ์ฌ์ ๋ค๋ฅธ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ด์ด์ฃผ๊ธฐ๋ ํ๋ค!)
5. ๋ ๋์ ์ฑ๋ฅ์ ์ด๋์ด๋ผ ์ ์์๊น? - ์ฃผ๋ก ์๊ฐ๋ณต์ก๋ & ๊ณต๊ฐ ๋ณต์ก๋๋ก ๋ถ์ํจ
๐ก ํ์ฌ์ ๊ทผ๋ฌดํ๋ ๊ฒฝ์ฐ
- ์ฝ๋๋ฅผ ํฅ์์ํฌ ์ ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋๊ฐ?
- ํ์ฌ์ ์คํ์ผ ์ง์นจ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์์ฑํ๋๊ฐ?
- ์ธ์ด์ ๊ท์น์ ๋ฐ๋ผ ์์ฑํ๋๊ฐ?
- ๊ฐ๊ฒฉ์ ์ผ์ ํ๊ฐ?
๋ฉด์ ์์ ๊น๋ํ์ง ์๋ค๋ ๊ฒ์ ์ธ์ ํ๊ณ , ์๊ฐ์ ์์ง๋ง ๊น๋ํ๊ฒ ๋ง๋ค ์ํฅ์ด ์๋ค๋ ๊ฒ์ ์๋ฆฌ๋ ๊ฒ์ด ์ค์ํ๋ค.
6. ๋ค๋ฅธ ์ฌ๋๋ค์ ์ด ๋ฌธ์ ๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ๋๊ฐ?
- ์ค์ ๋ก ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋จผ์ ํ๊ณ ํด๊ฒฐ์ฑ ์ ๊ฐ๊ตฌํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ๊ฝค ์๊ธฐ ๋๋ฌธ์, (ํ์ฌ์์)
- ๋ค๋ฅธ ์ธ์ด๋ก ๋ ํด๊ฒฐ์ฑ ์ด๋ผ๋ ๋ค๋ฅธ ์ฌ๋์ด ์ด๋ป์ ํ์๋์ง ๋ณด๋๊ฒ ์ค์ํ๋ค.
๊ผญ ๋ฆฌํํ ๋ง์ด ์๋๋๋ผ๋
์ฝ๋๋ฅผ ๋ถ์ํ๊ณ ์ฑ์ฐฐํ๊ณ ๋๋์๋ณด๋ ๊ฒ์ด
๊ทธ์ ์๋ํ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๊ณ ํ๋ฃจ๋ฅผ ๋ง๊ฐํ๋ ๊ฒ๋ณด๋ค ๊ฐ์น๊ฐ ์๋ค..!
์ด ์ฝ๋๋ฅผ -> ์ด๋ ๊ฒ ๋ฐ๊ฟ ์ ์๋ค.
๊ฐ์ด ์ด๋ฏธ ์กด์ฌํ๋ค๋ฉด 1์ ๋ํ๊ณ ,
๊ฐ์ด ์๋ค๋ฉด ๊ฐ์ 1๋ก ์ค์
๋ฆฌํํ ๋ง ํ,
JS์์ ์ ๊ท ํํ์์ด ์ํ์ค์ธ ์์ ๊ณผ ์ฌ์ฉ์ค์ธ ๋ธ๋ผ์ฐ์ ์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง ์ ์๋ค๋ ๋ง์ ๋ค์ ์ ์๋ค๋ ๋ง๋ ๋ง๋ถ์ผ๊ฑฐ๋ผ๊ณ ํจ.
ํนํ ํฌ๋กฌ์ ์ ๊ท ํํ์ ์ฌ์ฉ์ ๋ฌธ์ ๊ฐ ์์๋๋ฐ (์ง๊ธ์ ์๋ ๊ฒ ๊ฐ์๋)
์ ๊ท์๋ณด๋ค ์ผ๋ฐ ๋ฌธ์๊ฐ ๋ ๋น ๋ฅด๋ค๊ณ ํ๋ค.
๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์์คํค ๋ฌธ์๋ก ์ซ์์ ๋ฒ์๋ฅผ ์ด์ฉํด๋ ๋จ.