15์ฅ(JUnit)๊ณผ 16์ฅ(SerialDate Refactoring)์ ์ฝ๋๊ฐ ๋ง๊ณ , ์ง๋ฐฐ์ ์ธ ๋ด์ฉ์ด ์๋๋ผ ํ๋จํ์ฌ ์๋ตํ์๋ค. 17์ฅ, ๋์์ ํด๋ฆฌ์คํฑ์ ์ ๋ฆฌํด๋ณธ๋ค.
๊ฐ์ธ์ ์ผ๋ก ๊ฐ์ฅ ์ค์ฉ์ ์ด๋ฉฐ ์ค์ํ ์ ์ด๋ผ๋ ์๊ฐ์ด ๋ ๋ค. ์ด๋ป๊ฒ ๋ณ๊ฒฝํ ์ง์ ๋ํ ์๊ฐ์ด ๋ ์ค์ง ์์ผ๋ฉด ๊ฒฐ๊ตญ ์๋ฌด์ผ๋ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ์ฅ์์๋ ๊ทธ ๋์์ ๋ํด ์ ๋ฆฌํ๋ค.
์ฃผ์
๋ถ์ ์ ํ ์ ๋ณด
Git ์์คํ ์ ์ ์ฅํ ์ ๋ณด๋ ์ฃผ์์ผ๋ก ์ ์ ์น ๋ชปํ๋ค. ์ฃผ์์ ๊ธฐ์ ์ ์ธ ์ค๋ช ์ ๋ถ์ฐํ๋ ์๋จ์ด๋ค.
์ธ๋ชจ ์๋ ์ฃผ์
์ฃผ์์ ๋นจ๋ฆฌ ๋ก๋๋ค. ์ธ๋ชจ ์์ด์ง ์ฃผ์์ ์์ ๋ฌ์ง ์๊ณ , ์ธ๋ชจ ์์ด์ง ์ฃผ์์ ๋นจ๋ฆฌ ์ ๊ฑฐํ๋ค.
์ค๋ณต๋ ์ฃผ์
์ฝ๋๋ก ์ถฉ๋ถํ๋ฐ๋ ๊ตฌ๊ตฌ์ ์ ์ค๋ช ํ๋ ์ฃผ์์ ์ ๊ฑฐํ๋ค.
i++ // i์ฆ๊ฐ
์ฑ์ ์๋ ์ฃผ์
์ฃผ์์ ์์ฑํ ๊ฒ์ด๋ผ๋ฉด ์ต๋ํ ๋ฉ์ง๊ฒ ์์ฑํ๋ค. ์ฃผ์ ๋์ง ์๊ณ ๋ฌธ๋ฒ๊ณผ ๊ตฌ๋์ ์ ๋ฐ๋ก ์ฌ์ฉํ๋ฉฐ ๋จ์ด๋ฅผ ์ ์คํ ์ ํํ๋ค.
์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋
์ฃผ์์ผ๋ก ์ฒ๋ฆฌ๋ ์ฝ๋๋ ํ๋ฌผ ๊ทธ ์์ฒด๋ค. ์ฆ๊ฐ ์ง์๋ผ. ์ ๋ง๋ก ํ์ํ๋ค๋ฉด ์ด์ ๋ฒ์ ์ ๊ฐ์ ธ์ค๋ฉด ๋๋ค.
ํ๊ฒฝ
์ฌ๋ฌ ๋จ๊ณ๋ก ๋น๋ํด์ผ ํ๋ค
๋น๋๋ ๊ฐ๋จํ ํ ๋จ๊ณ๋ก ๋๋์ผ ํ๋ค.
์ฌ๋ฌ ๋จ๊ณ๋ก ํ ์คํธํด์ผ ํ๋ค.
๋ชจ๋ ๋จ์ ํ ์คํธ๋ ํ ๋ช ๋ น์ผ๋ก ๋๋ ค์ผ ํ๋ค.
ํจ์
๋๋ฌด ๋ง์ ์ธ์
ํจ์์์ ์ธ์ ๊ฐ์๋ ์์์๋ก ์ข๋ค. ๋ท ์ด์์ ํผํ๋ค.
์ถ๋ ฅ ์ธ์
์ง๊ด์ ์ ๋ฉด์ผ๋ก ์๋ฐฐํ๋ค. ์ธ์๋ ์ ๋ ฅ์ผ๋ก ๊ฐ์ฃผํ๊ธฐ ๋๋ฌธ์ด๋ค.
ํ๋๊ทธ ์ธ์
Boolean ์ธ์๋ ํจ์๊ฐ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ํํ๋ค๋ ๋ช ๋ฐฑํ ์ฆ๊ฑฐ๋ค. ํผํด๋ผ.
์ฃฝ์ ํจ์
์๋ฌด๋ ํธ์ถํ์ง ์๋ ํจ์๋ ์ญ์ ํ๋ค. ์ด์ฐจํผ Git์ด ๊ธฐ์ตํ๋ค.
์ผ๋ฐ
ํ ์์ค ํ์ผ์ ์ฌ๋ฌ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ค
์์ค ํ์ผ ํ๋์ ์ธ์ด ํ๋๋ง ์ฌ์ฉํ์. ํ์ค์ ์ผ๋ก๋ ์ฌ๋ฌ ์ธ์ด๊ฐ ๋ถ๊ฐํผ ํ๋, ๋ฒ์์ ์ธ์ด ์๋ฅผ ์ค์ด๋๋ก ๋ ธ๋ ฅํด์ผ ํ๋ค.
๋น์ฐํ ๋์์ ๊ตฌํํ์ง ์๋๋ค
ํจ์๋ ํด๋์ค๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋น์ฐํ๊ฒ ์ฌ๊ธธ๋งํ ๋์๊ณผ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ผ ํ๋ค.
"Monday"
๋ฅผDay.MONDAY
์ผ๋ก ๋ณํํ๊ฒ ์ง?"Mon"
๋ฅผDay.MONDAY
์ผ๋ก ๋ณํํ๊ฒ ์ง?"monday"
๋ฅผDay.MONDAY
์ผ๋ก ๋ณํํ๊ฒ ์ง?
๊ฒฝ๊ณ๋ฅผ ์ฌ๋ฐ๋ก ์ฒ๋ฆฌํ์ง ์๋๋ค
์ค์ค๋ก์ ์ง๊ด์ ์์กดํ์ง ๋ง๋ผ. ๋ชจ๋ ๊ฒฝ๊ณ ์กฐ๊ฑด์ ์ฐพ์๋ค๊ณ , ์ด๋ฅผ ํ ์คํธํ๋ ์ผ์ด์ค๋ฅผ ์์ฑํ๋ผ.
์์ ์ ์ฐจ ๋ฌด์
์ปดํ์ผ๋ฌ ๊ฒฝ๊ณ ๋๊ธฐ, ํ ์คํธ ์ผ์ด์ค ์ ์ณ๋๊ธฐ์ ๊ฐ์ ํ๋๋ ์์นซํ๋ฉด ๋์๋ ๋๋ฒ๊น ์ ์ผ์ผํฌ ์ ์๋ ๊ฒ๋ค์ด๋ค.
์ค๋ณต
๊ฐ์ฅ ์ค์ํ ๊ท์น์ด๋ค. ์ค๋ณต์ ์ถ์ํํ ๊ธฐํ๋ค. ์ค๋ณต์ ์์ ๋ผ.
- ๋๊ฐ์ ์ฝ๋๊ฐ ์ค๋ณต์ผ๋ก ๋์ค๋ ๊ฒฝ์ฐ
if/else
๋ก ๋๊ฐ์ ์กฐ๊ฑด์ ๊ฑฐ๋ญ ํ์ธํ๋ ๊ฒฝ์ฐ- ๋คํ์ฑ์ผ๋ก ํด๊ฒฐํ๋ค.
- ์๊ณ ๋ฆฌ์ฆ์ด ์ ์ฌํ๋, ์ฝ๋๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ
- Template Method pattern, Strategy pattern
์ถ์ํ ์์ค์ด ์ฌ๋ฐ๋ฅด์ง ๋ชปํ๋ค
์ถ์ํ๋ก ๊ฐ๋ ์ ๋ถ๋ฆฌํ ๋๋ ์ฒ ์ ํด์ผ ํ๋ค.
- ๊ณ ์ฐจ์ ๊ฐ๋ ์ Base Class, ์ ์ฐจ์ ๊ฐ๋ ์ Derived Class์ ๋ฃ๋๋ค.
- ์ธ๋ถ ๊ตฌํ๊ณผ ๊ด๋ จ๋ ๊ฒ๋ค์ ๊ธฐ์ด ํด๋์ค์ ๋ฃ์ง ์๋๋ค.
๊ธฐ์ด ํด๋์ค๊ฐ ํ์ ํด๋์ค์ ์์กดํ๋ค
์ ์ถ์ํํ๋๊ฐ? ๊ฒฐ๊ตญ ๊ณ ์ฐจ์ ๊ฐ๋ ๊ณผ ์ ์ฐจ์ ๊ฐ๋ ์ ๋ถ๋ฆฌํ์ฌ ๋ ๋ฆฝ์ฑ์ ํ๋ณดํ๊ธฐ ์ํจ์ด๋ค. ๊ธฐ์ด ํด๋์ค๊ฐ ํ์ ํด๋์ค์ ์์กดํ๋ ๊ฒ์ ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๋ค.
๊ณผ๋ํ ์ ๋ณด
์ ์ ์๋ ๋ชจ๋์ ์ธํฐํ์ด์ค๊ฐ ๋งค์ฐ ์๋ค. ๊ฒฐํฉ๋๊ฐ ๋ฎ๋ค.
- ์๋ฃ, ์ ํธ๋ฆฌํฐ, ์์, ๋ณ์, ๋ฉ์๋๋ฅผ ์จ๊ฒจ๋ผ.
- ์ ๋ณด๋ฅผ ์ ํํด ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถฐ๋ผ
์ฃฝ์ ์ฝ๋
์คํ๋์ง ์๋ ์ฝ๋๋ ์ฃฝ์ ์ฝ๋๋ค.
- ๋ถ๊ฐ๋ฅํ ์กฐ๊ฑด์ ํ์ธํ๋ if๋ฌธ, switch/case๋ฌธ
- ์์คํ ์์ ์ ๊ฑฐํ๋ผ.
์์ง ๋ถ๋ฆฌ
๋ณ์์ ํจ์๋ ์ฌ์ฉ๋๋ ์์น์ ๊ฐ๊น๊ฒ ์ ์ํ๋ค.
- ์ง์ญ๋ณ์: ์ฌ์ฉํ๊ธฐ ์ง์ ์ ์ ์ธํ๋ค. ์์ง์ ์ผ๋ก ๊ฐ๊น์ด ๊ณณ์ ๋ฐฐ์นํ๋ค.
- ๋น๊ณต๊ฐ ํจ์: ์ฒ์์ผ๋ก ํธ์ถํ ์งํ์ ์ ์ํ๋ค.
์ผ๊ด์ฑ ๋ถ์กฑ
์ด๋ค ๊ฐ๋ ์ A ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค๋ฉด, ์ ์ฌ ๊ฐ๋ ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ค.
์ก๋์ฌ๋
๋น์ด์๋ ๊ธฐ๋ณธ ์์ฑ์๋ ๊ตณ์ด ํ์์๋ค. ์ก๋์ฌ๋๋ค์ ํญ์ ์ ๋ฆฌํ๋ค.
์ธ์์ ๊ฒฐํฉ
๋ฌด๊ดํ ๊ฐ๋ ์ ์ธ์์ ์ผ๋ก ๊ฒฐํฉํ์ง ์๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ enum์ ํน์ class์ ์ํ ์ด์ ๊ฐ ์๋ค.
- ๋ฒ์ฉ static ํจ์๋ ๋ง์ฐฌ๊ฐ์ง๋ค.
- ์ด๋, ๋น์ฅ ํธํ ์์น์ ๋ฃ์ด๋ฒ๋ฆฐ ๊ฒฐ๊ณผ๋ค.
๊ธฐ๋ฅ ์์ฌ
ํด๋์ค ๋ฉ์๋๋ ์๊ธฐ ํด๋์ค์ ๋ณ์์ ํจ์์ ๊ด์ฌ์ ๊ฐ์ ธ์ผ ํ๋ค.
์ ํ์ ์ธ์
์ ํ์ ์ธ์(Bool, enum, Int)๋ ํฐ ํจ์๋ฅผ ์ฌ๋ฟ ํจ์๋ก ์ชผ๊ฐ์ง ์์ผ๋ ค๋ ๊ฒ์ผ๋ฆ์ ์์ฐ์ด๋ค.
- ํจ์๋ฅผ ๋ง๋ค์ด ํด๊ฒฐํ๋ผ.
๋ชจํธํ ์๋
์ฝ๋๋ฅผ ์งค ๋๋ ์๋๋ฅผ ์ต๋ํ ๋ถ๋ช ํ ๋ฐํ๋ค.
- ํ ๋ฐ๊พธ๊ธฐ
- ๋ณ์ ๋ฐ ํจ์ ์ด๋ฆ ์ ํ๊ธฐ
์๋ชป ์ง์ด ์ฑ ์
์ฝ๋ ๋ฐฐ์น๋ ์ต์ ๋๋์ ์์น, ์ฆ ๋ ์๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๊ธฐ๋ํ ์์น์ ๋ฐฐ์นํ๋ค.
๋ถ์ ์ ํ static ํจ์
์ธ์คํด์ค์ ์ ๋ง ๋ฌด๊ดํ ๊ฒฝ์ฐ์ static ํจ์๋ฅผ ์ฌ์ฉํ๋ผ. ์ธ์คํด์ค์์ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํด์ผ ํ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ฉด ์ธ์คํด์ค ํจ์๋ก ์ ์ํ๋ค.
์์ ์ ๋ณ์
๊ณ์ฐ์ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋๋์ด ์์ ํ ์ ์๋ ๋ณ์๋ก ์์ฑํ๋ผ.
- ๋ง์ ์๋ก ์ข๋ค.
์ด๋ฆ๊ณผ ๊ธฐ๋ฅ์ด ์ผ์นํ๋ ํจ์
์ด๋ฆ๋ง์ผ๋ก ๋ถ๋ช ํ์ง ์์ ๊ตฌํ์ ์ดํด์ผ ํ๋ค๋ฉด, ์ข์ ์ด๋ฆ์ผ๋ก ๋ฐ๊พธ๊ฑฐ๋, ๋ ์ด๋ฆ์ ๋ถ์ด๊ธฐ ์ฝ๋๋ก ์ ๋ฆฌํด์ผ ํ๋ค.
- 5์ผ์ ๋ํ๋ ๊ฑด๊ฐ?
- 5์ฃผ? 5์๊ฐ?
- ์ธ์คํด์ค๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฑด๊ฐ?
- ์๋ก์ด ์ธ์คํด์ค๋ฅผ ๋ฐํํ๋ ๊ฑด๊ฐ?
addDaysTo
,datsLater
์ ๊ฐ์ ์ด๋ฆ์ผ๋ก ์๋๋ฅผ ๋ถ๋ช ํ๊ฒ ํด์ผ ํ๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์ดํดํ๋ผ
๊ตฌํ์ด ๋๋ฌ๋ค๊ณ ๋งํ๊ธฐ ์ ์, ์๊ณ ๋ฆฌ์ฆ์ ํ์คํ ์ดํดํ๋์ง ํ์ธํ๋ผ.
๋ ผ๋ฆฌ์ ์์กด์ฑ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋๋ฌ๋ด๋ผ
์์กดํ๋ ๋ชจ๋์ด ์๋ ๋ชจ๋์ ๋ํด ๋ฌด์ธ๊ฐ๋ฅผ ๊ฐ์ ํ๋ฉด ์๋๋ค. ๋ช ์์ ์ผ๋ก ์์ฒญํ๋ผ.
If/Else ํน์ Switch/Case ๋ฌธ๋ณด๋ค ๋คํ์ฑ์ ์ฌ์ฉํ๋ผ
switch๋ฌธ์ ํ๋๋ง ์ฌ์ฉํ๋ค.
- ๋น์ฅ ์ฌ์ด ์ ํ์ด๋ผ ์ฌ์ฉํ๋ค.
- ์์ ํ๋ ค๋ฉด switch ๋ฌธ์ ๋ชจ๋ ๋ด์ผ ํ๋ค.
ํ์ค ํ๊ธฐ๋ฒ์ ๋ฐ๋ฅด๋ผ
์ ๊ณ ํ์ค๊ณผ ํ์ด ์ ํ ํ์ค์ ๋ฐ๋ฅธ๋ค.
- ์ ๊ณ ํ์ค์ ๋ฐ๋ฅด๋ ๊ฒฝ์ฐ, ์ถ๊ฐ ์ค๋ช ์ด ํ์์์ด ์ฝ๋๋ก ์ถฉ๋ถํด์ผ ํ๋ค.
- ํ์ด ์ ํ ํ์ค์ ๊ฒฝ์ฐ, ํ์ ๋ชจ๋๊ฐ ๋ฐ๋ผ์ผ ํ๋ค.
๋งค์ง ์ซ์๋ ๋ช ๋ช ๋ ์์๋ก ๊ต์ฒดํ๋ผ
์ผ๋ฐ์ ์ผ๋ก ์ฝ๋์์ ์ซ์๋ฅผ ์ฌ์ฉํ์ง ๋ง๋ผ. ๋ณ์๋ก ์ ์ธํ์ฌ ์๋ฏธ๋ฅผ ๋ถ์ฌํ๊ณ , ์ค์๋ฅผ ๋ฐฉ์งํด๋ผ.
์ ํํ๋ผ
์ฝ๋์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฒฐ์ ํ ๋๋ ์ ํํ ๊ฒฐ์ ํ๋ค. ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ์ด์ ์ ์์ธ ์ฒ๋ฆฌํ ๋ฐฉ๋ฒ์ ๋ถ๋ช ํ ์ดํดํด๋ผ.
๊ด๋ก๋ณด๋ค ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ผ
์ค์ ์ ๊ฐ์ ํ ๋๋ ๊ตฌ์กฐ ์์ฒด๋ก ๊ฐ์ ํ๋ผ. ๊ธฐ์ด ํด๋์ค๋ ํ์ ํด๋์ค๊ฐ ์ถ์ ๋ฉ์๋๋ฅผ ๋ฐ๋์ ๊ตฌํํ๋๋ก ๊ฐ์ ํ๋ค.
์กฐ๊ฑด์ ์บก์ํํ๋ผ
Bool ๋ ผ๋ฆฌ๋ ์ดํดํ๊ธฐ ์ด๋ ต๋ค. ์บก์ํํ์ฌ ๋งฅ๋ฝ์ ์ ๊ณตํ๋ผ.
๋ถ์ ์กฐ๊ฑด์ ํผํ๋ผ
๋ถ์ ์กฐ๊ฑด์ ๊ธ์ ์กฐ๊ฑด๋ณด๋ค ์ดํดํ๊ธฐ ์ด๋ ต๋ค.
ํจ์๋ ํ ๊ฐ์ง๋ง ํด์ผ ํ๋ค
์ฌ๋ฟ ๋์์ ์ํํ๋ ํจ์๊ฐ ์๋ค๋ฉด ์ชผ๊ฐ๋ผ.
์จ๊ฒจ์ง ์๊ฐ์ ์ธ ๊ฒฐํฉ
ํจ์๊ฐ ํธ์ถ๋๋ ์์๋ฅผ ๋ฐํ ๊ฐ์ ํตํด ์๊ฐ์ ๊ฒฐํฉ์ ๋๋ฌ๋ด๋ผ.
- ์๋์ ๊ฒฝ์ฐ ์์๋ฅผ ๋ณ๊ฒฝํ์ฌ ํธ์ถํ ์ ์๋ค.
์ผ๊ด์ฑ์ ์ ์งํ๋ผ
์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์ก์ ๋๋ ์ด์ ๋ฅผ ๊ณ ๋ฏผํ๋ผ.
๊ฒฝ๊ณ ์กฐ๊ฑด์ ์บก์ํํ๋ผ
๊ฒฝ๊ณ ์กฐ๊ฑด์ ๋นผ๋จน๊ฑฐ๋ ๋์น๊ธฐ ์ญ์์ด๋ค. ํ๊ณณ์์ ๋ณ๋๋ก ์ฒ๋ฆฌํ๋ผ.
ํจ์๋ ์ถ์์ ์์ค์ ํ ๋จ๊ณ๋ง ๋ด๋ ค๊ฐ์ผ ํ๋ค
ํจ์ ๋ด ๋ชจ๋ ๋ฌธ์ฅ์ ์ถ์ํ ์์ค์ด ๋์ผํด์ผ ํ๋ค.
- ์ถ์ํ ์์ค ๋ถ๋ฆฌ๋ ๋ฆฌํฉํฐ๋ง์ ์ํํ๋ ๊ฐ์ฅ ์ค์ํ ์ด์ ์ค ํ๋๋ค.
์ค์ ์ ๋ณด๋ ์ต์์ ๋จ๊ณ์ ๋ฌ๋ผ
๊ธฐ๋ณธ๊ฐ ์์๋, ์ค์ ๊ด๋ จ ์์๋ฅผ ์ ์ฐจ์ ํจ์์ ์จ๊ฒจ์๋ ์๋๋ค.
์ถ์ด์ ํ์์ ํผํ๋ผ
์ถ์ด์ ๊ด๊ณ: ์์์ ์์๋ฅผ ์์๋ก ํ๋ ์งํฉ.
- A๊ฐ B๋ฅผ ์ฌ์ฉํ๊ณ , B๊ฐ C๋ฅผ ์ฌ์ฉํ๋๋ผ๋ A๊ฐ C๋ฅผ ์ํ์๋ ์๋ค.
๋๋ฏธํฐ์ ๋ฒ์น: ์ง์ ์ฌ์ฉํ๋ ๋ชจ๋๋ง ์์์ผ ํ๋ค.
- ๋ด๊ฐ ์ฌ์ฉํ๋ ๋ชจ๋์ด ๋ด๊ฒ ํ์ํ ์๋น์ค๋ฅผ ๋ชจ๋ ์ ๊ณตํด์ผ ํ๋ค.
์ด๋ฆ
์์ ์ ์ธ ์ด๋ฆ์ ์ฌ์ฉํ๋ผ
์ํํธ์จ์ด ๊ฐ๋ ์ฑ์ 90%์ ์ด๋ฆ์ด ๊ฒฐ์ ํ๋ค.
์ ์ ํ ์ถ์ํ ์์ค์์ ์ด๋ฆ์ ์ ํํ๋ผ
๊ตฌํ์ ๋๋ฌ๋ด๋ ์ด๋ฆ์ ํผํ๋ผ.
- ์ ํ์ ์์ ์ฌ์ฉํ๋ Modem์ ๊ฐ์ ํ๊ณ ์๋ค.
- ์ผ์ด๋ธ์ ํตํ Modem์๋ ์ ์ฉํ ์ ์๋ ์ธํฐํ์ด์ค๋ก ๋ณ๋ชจํ๋ค.
๊ฐ๋ฅํ๋ค๋ฉด ํ์ค ๋ช ๋ช ๋ฒ์ ์ฌ์ฉํ๋ผ
๋์์ธ ํจํด์ ์ฌ์ด ์์ฌ์ํต์ ํ๊ธฐ ์ํ ํ์ค์ด๋ค. ์ด๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ผ.
๋ช ํํ ์ด๋ฆ
๊ธธ๋๋ผ๋ ์์ ์ ์ธ ์ด๋ฆ์ด๋ผ๋ฉด ๊ทธ ๋จ์ ์ ๋ชจ๋ ๋ณด์ํ๋ค.
๊ธด ๋ฒ์๋ ๊ธด ์ด๋ฆ์ ์ฌ์ฉํ๋ผ
์ด๋ฆ์ด ์งง์ ๋ณ์๋ ํจ์๋ ๋ฒ์๊ฐ ๊ธธ์ด์ง๋ฉด ์๋ฏธ๋ฅผ ์๋๋ค. ๋ฐ๋๋ก ๋ฒ์๊ฐ ๋งค์ฐ ์งง๋ค๋ฉด ์งง์ ๋ณ์๋ ์ข์ ๋๊ฐ ์๋ค. (
for i in ~
)
์ธ์ฝ๋ฉ์ ํผํ๋ผ
ํ๊ฐ๋ฆฌ์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ง ๋ง๋ผ. (
m_
,vis_
)
์ด๋ฆ์ผ๋ก ๋ถ์ ํจ๊ณผ๋ฅผ ์ค๋ช ํ๋ผ
์ด๋ฆ์ ๋ถ์ํจ๊ณผ๋ฅผ ์จ๊ธฐ์ง ์๋๋ค.
- ๋จ์ํ
oos
๋ฅผ ๊ฐ์ ธ์ค๋ ์ฝ๋๊ฐ ์๋๋ค. oos
๊ฐ ์์ผ๋ฉด ์์ฑํ๋ค.createOrReturnOos
๊ฐ ๋ณด๋ค ์ข๋ค.
ํ ์คํธ
๋ถ์ถฉ๋ถํ ํ ์คํธ
์ ์ฌ์ ์ผ๋ก ๊นจ์ง๋งํ ๋ถ๋ถ์ ๋ชจ๋ ํ ์คํธํ๋ค.
์ปค๋ฒ๋ฆฌ์ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ผ
์ปค๋ฒ๋ฆฌ์ง ๋๊ตฌ๋ ํ ์คํธ๊ฐ ๋น ๋จ๋ฆฌ๋ ๊ณต๋ฐฑ์ ์๋ ค์ค๋ค.
์ฌ์ํ ํ ์คํธ๋ฅผ ๊ฑด๋๋ฐ์ง ๋ง๋ผ
์ฌ์ํ ํ ์คํธ๋ ์ง๊ธฐ ์ฝ๋ค. ์ฌ์ด๋ฐ ๊ฑด๋๋ฐ์ง ๋ง๋ผ.
๋ฌด์ํ ํ ์คํธ๋ ๋ชจํธํจ์ ๋ปํ๋ค
์๊ตฌ์ฌํญ์ด ๋ถ๋ถ๋ช ํ ๊ฒฝ์ฐ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ฃผ์์ฒ๋ฆฌํ๊ฒ ๋๋ค. ์ด๋ป๊ฒ ๋ณด๋ฉด ์ ํธ๊ฐ ๋๋ ๋ถ๋ถ์ด๋ค.
๊ฒฝ๊ณ์กฐ๊ฑด์ ํ ์คํธํ๋ผ
์๊ณ ๋ฆฌ์ฆ์ ์ค์ ์กฐ๊ฑด์ ์ฌ๋ฐ๋ก ์ง๋๊ณ ๊ฒฝ๊ณ ์กฐ๊ฑด์์ ์ค์ํ๋ ๊ฒฝ์ฐ๊ฐ ํํ๋ค.
๋ฒ๊ทธ ์ฃผ๋ณ์ ์ฒ ์ ํ ํ ์คํธํ๋ผ
๋ฒ๊ทธ๋ ์๋ก ๋ชจ์ด๋ ๊ฒฝํฅ์ด ์๋ค. ๋ฐ๊ฒฌํ ๊ณณ ์ฃผ๋ณ์ ์ฒ ์ ํ ํ ์คํธํ๋ผ.
์คํจ ํจํด์ ์ดํด๋ผ
๋๋ก๋ ํ ์คํธ๊ฐ ์คํจํ๋ ํจํด์ผ๋ก ๋ฌธ์ ๋ฅผ ์ง๋จํ ์ ์๋ค.
ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง ํจํด์ ์ดํด๋ผ
ํต๊ณผํ๋ ํ ์คํธ๊ฐ ์คํํ๋ ์ฝ๋, ์คํํ์ง ์๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด ์์ธ์ ํ์ ํ ์๋ ์๋ค.
ํ ์คํธ๋ ๋นจ๋ผ์ผ ํ๋ค
๋๋ฆฐ ํ ์คํธ๋ ์คํํ์ง ์๊ฒ ๋๋ค. ํ ์คํธ๊ฐ ๋น ๋ฅด๊ฒ ๋์๊ฐ๋๋ก ํ๋ผ.
๊ฒฐ๋ก
- ์ด ๋ชจ๋ ๋ชฉ๋ก์, ์ด์ ์ ๋งํ๋ ๊ฐ์น ์ฒด๊ณ๋ฅผ ํผ๋ ฅํ ๋ฟ์ด๋ค.
- ์ฅ์ธ ์ ์ ๊ณผ ์ ๋ฌธ๊ฐ ์ ์ ์ ๊ฐ์ง๊ณ ์ดํํ๋ผ.