Home > CS > 2024 > ๐Ÿ’พ [CS] ์ข‹์€ ์ฝ”๋“œ(Clean Code)์˜ ์ค‘์š”์„ฑ.

๐Ÿ’พ [CS] ์ข‹์€ ์ฝ”๋“œ(Clean Code)์˜ ์ค‘์š”์„ฑ.
CS

๐Ÿ’พ [CS] ์ข‹์€ ์ฝ”๋“œ(Clean Code)์˜ ์ค‘์š”์„ฑ.

ํด๋ฆฐ ์ฝ”๋“œ(Clean Code)๋Š” ์ฝ๊ธฐ ์‰ฝ๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ํด๋ฆฐ ์ฝ”๋“œ๋Š” ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋„˜์–ด์„œ, ์ผ๊ด€์„ฑ, ๊ฐ€๋…์„ฑ, ๋ช…ํ™•์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ„๊ฒฐ์„ฑ์„ ๊ฐ–์ถ˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
ํด๋ฆฐ ์ฝ”๋“œ๋Š” ๊ทธ ์ž์ฒด๋กœ ์ง๊ด€์ ์ด์–ด์•ผ ํ•˜๋ฉฐ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ์˜ ๋™์ž‘์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค๋‹ˆ๋‹ค.

1๏ธโƒฃ ํด๋ฆฐ ์ฝ”๋“œ์˜ ํŠน์ง•.

1. ๋ช…ํ™•ํ•œ ๋ชฉ์ ๊ณผ ์ด๋ฆ„.

  • ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ๊ทธ ๋ชฉ์ ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋“œ๋Ÿฌ๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฆ„๋งŒ ๋ณด๊ณ ๋„ ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ๋ฌด์—‡์„ ํ•˜๋Š”์ง€ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2. ๋‹จ์ˆœํ•จ(Simplicity)

  • ์ฝ”๋“œ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ณต์žกํ•˜์ง€ ์•Š์•„์•ผ ํ•˜๋ฉฐ, ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹จ์ˆœํ•œ ์ฝ”๋“œ๋Š” ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ , ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

3. ์ผ๊ด€์„ฑ(Consistency)

  • ์ฝ”๋“œ ์Šคํƒ€์ผ๊ณผ ๊ตฌ์กฐ๋Š” ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋กœ ์ธํ•ด ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์ƒˆ๋กœ์šด ๊ทœ์น™์„ ํ•™์Šตํ•  ํ•„์š” ์—†์ด ์ผ๊ด€๋œ ํ˜•์‹์„ ๋”ฐ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ์ž‘์€ ํ•จ์ˆ˜(Small Function)

  • ํ•จ์ˆ˜๋‚˜ ๋ฉ”์„œ๋“œ๋Š” ํ•˜๋‚˜์˜ ์ž‘์—…๋งŒ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ทธ ์ž‘์—…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•จ์ˆ˜๋Š” ์ž‘๊ณ  ๊ฐ„๊ฒฐํ•ด์•ผ ํ•˜๋ฉฐ, ๋„ˆ๋ฌด ๋งŽ์€ ์ผ์„ ํ•˜๊ฑฐ๋‚˜ ๋„ˆ๋ฌด ๋งŽ์€ ์ฑ…์ž„์„ ๊ฐ€์ ธ์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

5. ์˜์กด์„ฑ ์ตœ์†Œํ™”(Low Coupling)

  • ๋ชจ๋“ˆ ๊ฐ„์˜ ์˜์กด์„ฑ์„ ์ตœ์†Œํ™”ํ•˜์—ฌ, ํ•œ ๋ถ€๋ถ„์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋กœ ์ธํ•ด ์œ ์ง€ ๋ณด์ˆ˜์™€ ํ™•์žฅ์ด ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

6. ์ค‘๋ณต ์ฝ”๋“œ ์ œ๊ฑฐ(DRY: Donโ€™t Repeat Yourself)

  • ๋™์ผํ•œ ์ฝ”๋“œ๊ฐ€ ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ๋ฐ˜๋ณต๋˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ค‘๋ณต ์ฝ”๋“œ๋Š” ๋ฒ„๊ทธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ด๊ณ  ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

7. ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ช…ํ™•์„ฑ.

  • ํด๋ฆฐ ์ฝ”๋“œ๋Š” ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์—๋Ÿฌ๋‚˜ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๊ทธ ํ๋ฆ„์ด ํ•œ ๋ˆˆ์— ์ดํ•ด๋  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

8. ์ฃผ์„์€ ์ตœ์†Œํ™”ํ•˜๋˜, ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ์„ค๋ช…์ ์œผ๋กœ

  • ํด๋ฆฐ ์ฝ”๋“œ๋Š” ๊ทธ ์ž์ฒด๋กœ ์ถฉ๋ถ„ํžˆ ์„ค๋ช…์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์„์ด ๋งŽ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋Œ€์‹ , ์ฃผ์„์€ ์ฝ”๋“œ๊ฐ€ ์•„๋‹Œ ๋ณต์žกํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด๋‚˜ ์˜๋„์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2๏ธโƒฃ ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ์ง€ํ–ฅํ•˜๋Š” ์›์น™.

1. SOLID ์›์น™.

  • ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ 5์›์น™(๋‹จ์ผ ์ฑ…์ž„ ์›์น™, ๊ฐœ๋ฐฉ-ํ์‡  ์›์น™, ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™, ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™, ์˜์กด์„ฑ ์—ญ์ „ ์›์น™)์„ ์ง€์ณ, ๋” ๋‚˜์€ ๊ตฌ์กฐ์™€ ํ™•์žฅ์„ฑ์„ ๊ฐ–์ถ˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™‚๏ธ SOLID ์›์น™

2. KISS ์›์น™(Keep It Simple, Stupid)

  • ์ฝ”๋“œ๋Š” ๊ฐ€๋Šฅํ•œ ํ•œ ๊ฐ„๋‹จํ•˜๊ณ  ๋ณต์žกํ•˜์ง€ ์•Š๊ธฐ ์œ ์ง€๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ž…๋‹ˆ๋‹ค.

3. YAGNI ์›์น™(You Ainโ€™t Gonna Need It)

  • ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ , ํ•„์š”ํ•  ๋•Œ๋งŒ ์ถ”๊ฐ€ํ•˜๋Š” ์›์น™์ž…๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ๊ฐ€ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•ด์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

4. DRY ์›์น™(Donโ€™t Repeat Yourself)

  • ์ค‘๋ณต์„ ํ”ผํ•˜๊ณ , ๊ฐ™์€ ๋กœ์ง์„ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๋„๋ก ์ฝ”๋“œ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ์›์น™์ž…๋‹ˆ๋‹ค.

3๏ธโƒฃ ํด๋ฆฐ ์ฝ”๋“œ์˜ ์ค‘์š”์„ฑ

  • ์œ ์ง€ ๋ณด์ˆ˜์„ฑ : ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ˆ˜๋ช…์„ ์—ฐ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฒ„๊ทธ ๊ฐ์†Œ : ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ๋Š” ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ž…๋‹ˆ๋‹ค.
  • ํ˜‘์—… : ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ˜‘์—…ํ•  ๋•Œ, ํด๋ฆฐ ์ฝ”๋“œ๋Š” ์˜์‚ฌ์†Œํ†ต์„ ์›ํ™œํ•˜๊ฒŒ ํ•˜๋ฉฐ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ณผ์ •๋„ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ํ™•์žฅ์„ฑ : ํด๋ฆฐ ์ฝ”๋“œ๋Š” ํ™•์žฅ๊ณผ ๋ณ€ํ™”์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์žˆ์–ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.

ํด๋ฆฐ ์ฝ”๋“œ๋Š” ๋‹จ์ˆœํžˆ ์ฝ”๋“œ ์Šคํƒ€์ผ์ด ์•„๋‹ˆ๋ผ, ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ์„ ๋†’์ด๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์ฒ ํ•™๊ณผ ์›์น™์ž…๋‹ˆ๋‹ค.

4๏ธโƒฃ Java ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํด๋ฆฐ ์ฝ”๋“œ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ .

Java ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํด๋ฆฐ ์ฝ”๋“œ๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž์˜ ์ƒ์‚ฐ์„ฑ๊ณผ ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜๋ฉฐ, ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ๊ณผ ํ™•์žฅ์„ฑ๋„ ๊ฐœ์„ ๋ฉ๋‹ˆ๋‹ค.

1. ์ดํ•ด์™€ ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ.

  • ํด๋ฆฐ ์ฝ”๋“œ๋Š” ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • Java์™€ ๊ฐ™์€ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์—์„œ๋Š” ํด๋ž˜์Šค, ๋ฉ”์„œ๋“œ, ๋ณ€์ˆ˜ ์ด๋ฆ„์ด ์ง๊ด€์ ์ด๊ณ  ๋ชฉ์ ์— ๋งž๊ฒŒ ๋ช…๋ช…๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š” ๋ฐ ๋“œ๋Š” ์‹œ๊ฐ„์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

2. ์œ ์ง€ ๋ณด์ˆ˜ ์šฉ์ด.

  • ํด๋ฆฐ ์ฝ”๋“œ๋Š” ๋ช…ํ™•ํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์ž‘์„ฑ๋˜์–ด, ์œ ์ง€ ๋ณด์ˆ˜ ์‹œ ๋ณต์žกํ•œ ๋กœ์ง์„ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ถˆํ•„์š”ํ•œ ์ฝ”๋“œ๋‚˜ ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ๋ชจ๋“ˆํ™”๋œ ๊ตฌ์กฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ํŠน์ • ๋ถ€๋ถ„๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์ˆ˜์›”ํ•ด ์ง‘๋‹ˆ๋‹ค.

3. ๋ฒ„๊ทธ ๋ฐœ์ƒ ํ™•๋ฅ  ๊ฐ์†Œ.

  • ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๋Š” ๋ณต์žกํ•œ ์ฝ”๋“œ๋Š” ์ข…์ข… ๋ฒ„๊ทธ๋ฅผ ์ˆจ๊น๋‹ˆ๋‹ค.
  • ํด๋ฆฐ ์ฝ”๋“œ๋Š” ๋ช…ํ™•ํ•˜๊ณ  ์ผ๊ด€์„ฑ์ด ์žˆ์–ด, ๊ฐœ๋ฐœ์ž๋“ค์ด ์‹ค์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋˜ํ•œ, ์ž˜ ์ž‘์„ฑ๋œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ์™€ ๊ฒฐํ•ฉํ•˜๋ฉด ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ๋”์šฑ ๋‚ฎ์•„์ง‘๋‹ˆ๋‹ค.

4. ํ™•์žฅ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€.

  • ํด๋ฆฐ ์ฝ”๋“œ๋Š” ์›์น™์— ๋งž๊ฒŒ ๋ชจ๋“ˆํ™”๋˜๊ณ , ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(Single Responsibility Principle), ๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™(Open/Closed Principle) ๋“ฑ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™๋“ค์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ํ™•์žฅ์„ฑ๊ณผ ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’์•„์ ธ, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. ํ˜‘์—… ๊ฐœ์„ .

  • ์—ฌ๋Ÿฌ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฐธ์—ฌํ•˜๋Š” ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ฝ”๋”ฉ ์Šค์นด์ผ์˜ ์ผ๊ด€์„ฑ์ด ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋ฆฐ ์ฝ”๋“œ ์›์น™์„ ๋”ฐ๋ฅด๋ฉด, ํŒ€์› ๊ฐ„์— ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ํ˜‘์—…ํ•  ๋•Œ ๋” ์›ํ™œํ•œ ์˜์‚ฌ์†Œํ†ต์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6. ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ.

  • ํด๋ฆฐ ์ฝ”๋“œ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๋ฉ”์„œ๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•ํ•˜๋ฉด ๋‹จ์œ„ ํ…Œ์ŠคํŠธ(Unit Test)๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฌ์›Œ์ง€๊ณ , ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์ฝ”๋“œ๋Š” ํ’ˆ์งˆ ๊ด€๋ฆฌ์— ๋งค์šฐ ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ, ํด๋ฆฐ ์ฝ”๋“œ๋Š” ์žฅ๊ธฐ์ ์œผ๋กœ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•ˆ์ •์„ฑ, ํ™•์žฅ์„ฑ, ์œ ์ง€ ๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๋ฉฐ, ํŒ€์›๋“ค ๊ฐ„์˜ ํ˜‘์—…์„ ์ด‰์ง„ํ•˜๊ณ  ๋ฒ„๊ทธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์—ฌ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.