JavaRush /Java Blog /Random-KO /์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #103. โ€œํด๋ฆฐ ์ฝ”๋“œโ€ ๋ฐฉ์–ด: ์‹œ๋Œ€๋ฅผ ์ดˆ์›”ํ•œ 100๊ฐ€์ง€ ํŒ

์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #103. โ€œํด๋ฆฐ ์ฝ”๋“œโ€ ๋ฐฉ์–ด: ์‹œ๋Œ€๋ฅผ ์ดˆ์›”ํ•œ 100๊ฐ€์ง€ ํŒ

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์ถœ์ฒ˜: Robert C. Martin์ด ์“ด Hackernoon โ€œClean Codeโ€๋Š” ์—ญ๋Œ€ ๊ฐ€์žฅ ์ถ”์ฒœ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฑ…์ž…๋‹ˆ๋‹ค. "์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ตœ๊ณ ์˜ ์ฑ…"์ด๋ผ๋Š” ๊ฒ€์ƒ‰์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ…์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ์ด ์ฑ…์ด ๊ฑฐ์˜ ํ™•์‹คํ•˜๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์€ ํด๋ฆฐ ์ฝ”๋“œ์— ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ๋‚˜๋Š” ๊ทธ๋Ÿฌํ•œ ๊ฐ์ •์ด ์‹ฌ๊ฐํ•œ ์ฐฉ๊ฐ์ด๋ผ๊ณ  ์ฃผ์žฅํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜ˆ, ์ฑ…์— ๋‚˜์˜ค๋Š” ์กฐ์–ธ ์ค‘ ์ผ๋ถ€๋Š” ์˜์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ์˜ˆ, ์ผ๋ถ€ ์ฝ˜ํ…์ธ ๊ฐ€ ์˜ค๋ž˜๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ, ์ผ๋ถ€ ์˜ˆ๋Š” ํ˜ผ๋ž€์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ฑ…์ด ์ œ๊ณตํ•˜๋Š” ๋งŽ์€ ์œ ์šฉํ•œ ํŒ์„ ๋„ˆ๋ฌด ์„ฑ๊ธ‰ํ•˜๊ฒŒ ๋ฌด์‹œํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค! ๋‹จ์ˆœํžˆ ๋ช‡ ๊ฐ€์ง€ ๋‚˜์œ ์•„์ด๋””์–ด ๋•Œ๋ฌธ์— ํด๋ฆฐ ์ฝ”๋“œ๋ฅผ ์™„์ „ํžˆ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์€ ์ตœ์„ ์˜ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ปคํ”ผ ๋ธŒ๋ ˆ์ดํฌ #103.  "ํด๋ฆฐ ์ฝ”๋“œ"๋ฅผ ๋ฐฉ์–ดํ•˜๊ธฐ ์œ„ํ•œ 100๊ฐ€์ง€ ์˜์›ํ•œ ํŒ - 1๊ทธ๋Ÿผ ๋” ์ด์ƒ ๊ณ ๋ฏผํ•˜์ง€ ๋ง๊ณ  Clean Code๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ตœ๊ณ ์˜ ํŒ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ์šฐ๋ฆฌ๋Š” Bob ์‚ผ์ดŒ๊ณผ ๊ทธ์˜ ๊ณต๋™ ์ €์ž๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์•„์ด๋””์–ด๋ฅผ ์š”์•ฝํ•˜๋ฉด์„œ ๊ฐ ์žฅ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1์žฅ: ๊น”๋”ํ•œ ์ฝ”๋“œ

  1. ์ „์ฒด์ ์ธ ํ˜ผ๋ž€์˜ ์–‘์€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

  2. ์˜ค๋ž˜๋œ ์‹œ์Šคํ…œ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ณต์›ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋ฆฌํŒฉํ† ๋ง๊ณผ ์ ์ง„์ ์ธ ๊ฐœ์„ ์ด ์ตœ์„ ์˜ ์„ ํƒ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  3. ์ง€์ €๋ถ„ํ•œ ์ฝ”๋“œ๋ฒ ์ด์Šค์—์„œ๋Š” ๋ช‡ ์‹œ๊ฐ„ ๋ฐ–์— ๊ฑธ๋ฆฌ์ง€ ์•Š๋Š” ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ๋ฉฐ์น  ๋˜๋Š” ๋ช‡ ์ฃผ๊ฐ€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. ์‹œ๊ฐ„์„ ๋‚ด์–ด ์‹ ์†ํ•˜๊ฒŒ ํ–‰๋™ํ•˜์‹ญ์‹œ์˜ค.

  5. ํด๋ฆฐ ์ฝ”๋“œ๋Š” ํ•œ ๊ฐ€์ง€ ์ผ์„ ์ž˜ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์œ ์ฝ”๋“œ๋Š” ๋„ˆ๋ฌด ๋งŽ์€ ์ผ์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

  6. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ์ž˜ ํ…Œ์ŠคํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  7. ์ž˜ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ ๊ฐ ํ•จ์ˆ˜๋Š” ๋Œ€๋žต์ ์œผ๋กœ ์˜ˆ์ƒํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  8. ์ˆ˜๋…„ ๊ฐ„์˜ ๊ฒฝํ—˜์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ์ด ๊ฐ€๋ฅด์นœ ์›๋ฆฌ์— ๋™์˜ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ฌด์‹œํ•˜๊ธฐ ์ „์— ์ตœ์†Œํ•œ ๊ทธ ์‚ฌ๋žŒ์˜ ๊ด€์ ์„ ๊ณ ๋ คํ•ด ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  9. ์ฝ”๋“œ๋Š” ์ž‘์„ฑ๋œ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์ž์ฃผ ์ฝํ˜€์ง‘๋‹ˆ๋‹ค.

  10. ์ฝ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋Š” ๋ณ€๊ฒฝํ•˜๊ธฐ๋„ ์‰ฝ์Šต๋‹ˆ๋‹ค.

  11. ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ฒ˜์Œ ์ฐพ์•˜์„ ๋•Œ๋ณด๋‹ค ๋” ์ข‹๊ฒŒ ๋‚จ๊ฒจ๋‘์„ธ์š”(๋ณด์ด์Šค์นด์šฐํŠธ ๊ทœ์น™).

2์žฅ: ์ด๋ฆ„์˜ ์˜๋ฏธ

  1. ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒํ•˜์„ธ์š”.

  2. ์ข‹์€ ์ด๋ฆ„์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

  3. ๋ณ€์ˆ˜๋‚˜ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์€ ๊ทธ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€, ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  4. ๋ฃจํ”„์˜ ์นด์šดํ„ฐ ๋ณ€์ˆ˜์ธ i์™€ ๊ฐ™์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„์„ ์ œ์™ธํ•˜๊ณ  ๋‹จ์ผ ๋ฌธ์ž ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

  5. ๋ณ€์ˆ˜ ์ด๋ฆ„์— ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

  6. ๋ณ€์ˆ˜ ์ด๋ฆ„์€ ๋ฐœ์Œ ๊ฐ€๋Šฅํ•ด์•ผ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ํฐ ์†Œ๋ฆฌ๋กœ ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ์ฐพ๊ธฐ ์‰ฌ์šด ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

  8. ํด๋ž˜์Šค์™€ ๊ฐ์ฒด์—๋Š” ๋ช…์‚ฌ ํ˜•ํƒœ์˜ ์ด๋ฆ„์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  9. ๋ฉ”์†Œ๋“œ ๋ฐ ํ•จ์ˆ˜ ์ด๋ฆ„์€ ๋™์‚ฌ ๋˜๋Š” ๋™์‚ฌ-๋ช…์‚ฌ ์Œ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3์žฅ: ๊ธฐ๋Šฅ

  1. ํ•จ์ˆ˜๋Š” ์ž‘์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. ํ•จ์ˆ˜๋Š” ํ•˜๋‚˜์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  3. ํ•จ์ˆ˜์—๋Š” ์„ค๋ช…์ด ํฌํ•จ๋œ ์ด๋ฆ„์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  4. if/else ๋ณธ๋ฌธ์—์„œ ์ฝ”๋“œ๋ฅผ ์ถ”์ถœํ•˜๊ฑฐ๋‚˜ ๋ช…๋ น๋ฌธ์„ ๋ช…ํ™•ํ•œ ์ด๋ฆ„์˜ ํ•จ์ˆ˜๋กœ ์ „ํ™˜ํ•˜์„ธ์š”.

  5. ํ•จ์ˆ˜๊ฐ€ ์ทจํ•˜๋Š” ์ธ์ˆ˜์˜ ์ˆ˜๋ฅผ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

  6. ํ•จ์ˆ˜์— ๋งŽ์€ ๊ตฌ์„ฑ ์ธ์ˆ˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด๋ฅผ ๋‹จ์ผ ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€์ˆ˜๋กœ ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

  7. ํ•จ์ˆ˜๋Š” ์ˆœ์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ถ€์ž‘์šฉ์ด ์—†๊ณ  ์ž…๋ ฅ ์ธ์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  8. ํ•จ์ˆ˜๋Š” ๋ช…๋ น ๋˜๋Š” ์ฟผ๋ฆฌ์—ฌ์•ผ ํ•˜์ง€๋งŒ ๋™์‹œ์— ๋‘˜ ๋‹ค์ผ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค(๋ช…๋ น ์ฟผ๋ฆฌ ๋ถ„๋ฆฌ).

  9. ์ฝ”๋“œ์— ์˜ค๋ฅ˜๋ฅผ ๋‚จ๊ธฐ๋Š” ๊ฒƒ๋ณด๋‹ค ์ฝ”๋“œ์—์„œ ์˜ค๋ฅ˜์™€ ์˜ˆ์™ธ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

  10. ์ค‘๋ณต ์ฝ”๋“œ๋ฅผ ๋ช…ํ™•ํ•œ ์ด๋ฆ„์˜ ํ•จ์ˆ˜๋กœ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค(๋ฐ˜๋ณตํ•˜์ง€ ๋งˆ์„ธ์š”).

  11. ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌํŒฉํ† ๋ง์ด ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

4์žฅ: ์„ค๋ช…

  1. ๋Œ“๊ธ€์ด ์ •ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ž˜๋ชป๋˜์—ˆ์„ ์ˆ˜๋„ ์žˆ๊ณ , ์ฒ˜์Œ์—๋Š” ์ •ํ™•ํ–ˆ์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ์˜ค๋ž˜๋œ ๊ฒƒ์ด ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

  3. ๋ช…ํ™•ํ•œ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ฝ”๋“œ ์„น์…˜์„ ๋ช…ํ™•ํ•œ ์ด๋ฆ„์˜ ํ•จ์ˆ˜๋กœ ์ถ”์ถœํ•˜๋ฉด ์ฃผ์„์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

  4. TODO ์ฃผ์„์— ์ผ๊ด€๋œ ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์—ฌ์„œ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์„ธ์š”. TODO ์ฃผ์„์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜๊ณ  ์ •๋ฆฌํ•˜์„ธ์š”.

  5. ๋‹จ์ง€ Javadoc์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋ฉ”์„œ๋“œ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…, ์ธ์ˆ˜, ๋ฐ˜ํ™˜ ๋‚ด์šฉ์„ ์„ค๋ช…ํ•˜๋Š” ์ฃผ์„์€ ์ž˜ํ•ด์•ผ ์ค‘๋ณต๋˜๊ณ  ์ตœ์•…์˜ ๊ฒฝ์šฐ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  6. ์˜๊ฒฌ์—๋Š” ๋…์ž์—๊ฒŒ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ด€๋ จ ์ •๋ณด์™€ ๋งฅ๋ฝ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ“๊ธ€์„ ์ž‘์„ฑํ•  ๋•Œ ๊ฒŒ์œผ๋ฅด์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

  7. ๋ฒ„์ „ ์ œ์–ด ๋ฐ Git ๋น„๋‚œ์œผ๋กœ ์ธํ•ด ๋กœ๊ทธ ์ฃผ์„ ๋ฐ ํŒŒ์ผ ์ž‘์„ฑ์ž ์ฃผ์„์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  8. ๋ฐ๋“œ ์ฝ”๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋งˆ์„ธ์š”. ๊ทธ๋ƒฅ ์‚ญ์ œํ•˜์„ธ์š”. ๋ฏธ๋ž˜์— ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด, ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ๋ฒ„์ „ ์ œ์–ด์˜ ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

5์žฅ: ์„œ์‹ ์ง€์ •

  1. ํŒ€์œผ๋กœ์„œ ์ฝ”๋“œ ํ˜•์‹์„ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•œ ๊ทœ์น™ ์„ธํŠธ๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ํ•ด๋‹น ๊ทœ์น™์„ ์ผ๊ด€๋˜๊ฒŒ ์ ์šฉํ•˜์‹ญ์‹œ์˜ค. ์–ด๋–ค ๊ทœ์น™์— ๋™์˜ํ•˜๋“  ํ•ฉ์˜์— ๋„๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

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

  4. ์ž‘์€ ํŒŒ์ผ์€ ํฐ ํŒŒ์ผ๋ณด๋‹ค ์ฝ๊ณ  ์ดํ•ดํ•˜๊ณ  ์ด๋™ํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค.

  5. ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ๋˜๋Š” ์œ„์น˜ ๊ทผ์ฒ˜์—์„œ ์„ ์–ธ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์€ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜์˜ ๋งจ ์œ„์— ์žˆ์Šต๋‹ˆ๋‹ค.

  6. ์งง์€ ํ•จ์ˆ˜๋‚˜ if ๋ฌธ์˜ ๊ฒฝ์šฐ์—๋„ ํ•œ ์ค„์— ์ž‘์„ฑํ•˜๋Š” ๋Œ€์‹  ์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์„ ์ง€์ •ํ•˜์„ธ์š”.

6์žฅ: ๊ฐ์ฒด์™€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

  1. ๊ฐ์ฒด์˜ ๊ตฌํ˜„ ์„ธ๋ถ€์ •๋ณด๋Š” ๊ฐ์ฒด ์ธํ„ฐํŽ˜์ด์Šค ๋’ค์— ์ˆจ๊ฒจ์ ธ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด ์†Œ๋น„์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋ฉด ๋‚˜์ค‘์— ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋ฆฌํŒฉํ† ๋งํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌํŒฉํ† ๋ง์ด ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

  2. ์ฃผ์–ด์ง„ ์ฝ”๋“œ ์กฐ๊ฐ์€ ๊ทธ๊ฒƒ์ด ์ž‘๋™ํ•˜๋Š” ๊ฐ์ฒด์˜ ๋‚ด๋ถ€์— ๋Œ€ํ•œ ์ง€์‹์ด ์—†์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  3. ๊ฐœ์ฒด๋กœ ์ž‘์—…ํ•  ๋•Œ๋Š” ๊ฐœ์ฒด์—๊ฒŒ ๋‚ด๋ถ€ ๋‚ด์šฉ์„ ๋ฌป๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ช…๋ น์ด๋‚˜ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์š”๊ตฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

7์žฅ: ์˜ค๋ฅ˜ ์ˆ˜์ •

  1. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ๋Š” ๋ชจ๋“ˆ์˜ ๋‚˜๋จธ์ง€ ์ฝ”๋“œ๋ฅผ ๋ฐฉํ•ดํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

  2. ์ฝ”๋“œ์— ์˜ค๋ฅ˜๋ฅผ ๋‚จ๊ธฐ๋Š” ๊ฒƒ๋ณด๋‹ค ์ฝ”๋“œ์—์„œ ์˜ค๋ฅ˜์™€ ์˜ˆ์™ธ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

  3. ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ์ฝ”๋“œ์—์„œ ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๋†“์น˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”.

  4. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋ฉฐ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํšจ๊ณผ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ํ•„์ˆ˜ ์ปจํ…์ŠคํŠธ๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  5. ์–‡์€ ์ถ”์ƒํ™” ๊ณ„์ธต์œผ๋กœ ํƒ€์‚ฌ API๋ฅผ ๋ž˜ํ•‘ํ•˜๋ฉด ๋‚˜์ค‘์— ํ•˜๋‚˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‰ฝ๊ฒŒ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  6. ์–‡์€ ์ถ”์ƒํ™” ๊ณ„์ธต์œผ๋กœ ํƒ€์‚ฌ API๋ฅผ ๋ž˜ํ•‘ํ•˜๋ฉด ํ…Œ์ŠคํŠธ ์ค‘์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋ชจ์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ํŠน์ • ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์€ ์˜ˆ์™ธ์ ์ธ ๋™์ž‘์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ํŠน์ˆ˜ ์‚ฌ๋ก€ ํŒจํ„ด ๋˜๋Š” Null ๊ฐœ์ฒด ํŒจํ„ด์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

8์žฅ: ๊ฒฝ๊ณ„

  1. ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์•„์›ƒ์†Œ์‹ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์ œํ’ˆ ์ œ๊ณต ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

  2. ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”.

  3. ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ API์™€ ์›ํ•˜๋Š” API ์‚ฌ์ด์˜ ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•˜์„ธ์š”.

  4. ์–‡์€ ์ถ”์ƒํ™” ๊ณ„์ธต์œผ๋กœ ํƒ€์‚ฌ API๋ฅผ ๋ž˜ํ•‘ํ•˜๋ฉด ๋‚˜์ค‘์— ํ•˜๋‚˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‰ฝ๊ฒŒ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (7์žฅ๋ถ€ํ„ฐ ๋ฐ˜๋ณต)

  5. ์–‡์€ ์ถ”์ƒํ™” ๊ณ„์ธต์œผ๋กœ ํƒ€์‚ฌ API๋ฅผ ๋ž˜ํ•‘ํ•˜๋ฉด ํ…Œ์ŠคํŠธ ์ค‘์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋ชจ์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (7์žฅ๋ถ€ํ„ฐ ๋ฐ˜๋ณต)

  6. ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์„ธ๋ถ€ ์ •๋ณด์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๋งŽ์€ ์ •๋ณด๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์•Œ๋ ค์ฃผ์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

  7. ๋‹น์‹ ์ด ํ†ต์ œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋ณด๋‹ค ๋‹น์‹ ์ด ํ†ต์ œํ•˜๋Š” ๊ฒƒ์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ์Šต๋‹ˆ๋‹ค.

9์žฅ: ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

  1. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋งŒํผ ๊นจ๋—ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ํšจ์œจ์„ฑ๊ณผ ๊ด€๋ จ๋œ ์ผ๋ถ€ ์˜ˆ์™ธ๊ฐ€ ์žˆ์Œ).

  2. ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋„ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

  3. ํ…Œ์ŠคํŠธ๋Š” ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๋ฅผ ์œ ์—ฐํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

  4. ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์Šค์Šค๋กœ ๋ˆˆ์น˜์ฑ„์ง€ ๋ชปํ•  ์—ผ๋ ค ์—†์ด ์ž์‹  ์žˆ๊ฒŒ ๋ฆฌํŒฉํ† ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ๋ฐฐ์—ด-์ž‘๋™-์–ด์„ค์…˜(Build-Operate-Check, Setup-Exercise-Verify ๋˜๋Š” Give-When-Then์ด๋ผ๊ณ ๋„ ํ•จ) ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  6. ๋„๋ฉ”์ธ๋ณ„ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ํ…Œ์ŠคํŠธ ๋‹น ํ•˜๋‚˜์˜ ๊ฐœ๋…์„ ์ฑ„์ ํ•˜์‹ญ์‹œ์˜ค.

  8. ํ…Œ์ŠคํŠธ๋Š” ๋นจ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  9. ํ…Œ์ŠคํŠธ๋Š” ๋…๋ฆฝ์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  10. ํ…Œ์ŠคํŠธ๋Š” ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  11. ํ…Œ์ŠคํŠธ์—๋Š” ํ™•์ธ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  12. ํ…Œ์ŠคํŠธ๋Š” ๋ช‡ ๋‹ฌ ํ›„๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋กœ๋•์…˜ ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋˜๊ธฐ ์ง์ „์ด๋‚˜ ์งํ›„์— ์ ์‹œ์— ์ž‘์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  13. ํ…Œ์ŠคํŠธ๊ฐ€ ์ข‹์ง€ ์•Š์œผ๋ฉด ์ฝ”๋“œ์— ๋ฒ„๊ทธ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

10์žฅ: ํด๋ž˜์Šค

  1. ์ˆ˜์—…์€ ์ž‘์•„์•ผํ•ฉ๋‹ˆ๋‹ค.

  2. ํด๋ž˜์Šค๋Š” ํ•œ ๊ฐ€์ง€์—๋งŒ ์ฑ…์ž„์„ ์ ธ์•ผ ํ•˜๋ฉฐ ๋ณ€๊ฒฝ ์ด์œ ๋Š” ํ•˜๋‚˜๋งŒ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๋‹จ์ผ ์ฑ…์ž„ ์›์น™).

  3. ์ˆ˜์—…์˜ ๋ช…ํ™•ํ•œ ์ด๋ฆ„์„ ์ƒ๊ฐํ•ด ๋‚ผ ์ˆ˜ ์—†๋‹ค๋ฉด ์•„๋งˆ๋„ ๋„ˆ๋ฌด ํด ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  4. ์ž‘์—…ํ•  ์ฝ”๋“œ ์กฐ๊ฐ์ด ์žˆ๋‹ค๊ณ  ํ•ด์„œ ์ž‘์—…์ด ๋๋‚˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋Š” ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๊ณ  ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํฐ ํด๋ž˜์Šค ๋Œ€์‹  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ดํ•ดํ•ด์•ผ ํ•˜๋Š” ์ •๋ณด์˜ ์–‘์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

  6. ์ข‹์€ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๊ฐ€ ์žˆ์œผ๋ฉด ํฐ ํด๋ž˜์Šค๋ฅผ ์ž‘์€ ํด๋ž˜์Šค๋กœ ๋‚˜๋ˆŒ ๋•Œ ์ž์‹  ์žˆ๊ฒŒ ๋ฆฌํŒฉํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ์ˆ˜์—…์€ ํ™•์žฅ์„ ์œ„ํ•ด ์—ด๋ ค์•ผ ํ•˜๊ณ  ์ˆ˜์ •์„ ์œ„ํ•ด ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(๊ฐœ๋ฐฉ-ํ์‡„ ์›์น™).

  8. ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ์ด์Œ์ƒˆ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

11์žฅ: ์‹œ์Šคํ…œ

  1. ์ข…์†์„ฑ ์ฃผ์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ ์ ˆํ•œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์žˆ๋Š” ๊ฐœ์ฒด๋ฅผ ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ํ…Œ์ŠคํŠธ๋ฅผ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ข…์†์„ฑ ์ฃผ์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐœ์ฒด ๊ฐ„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

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

  4. ๋งˆ์ง€๋ง‰ ์ค‘์š”ํ•œ ์ˆœ๊ฐ„๊นŒ์ง€ ๊ฒฐ์ •์„ ์—ฐ๊ธฐํ•˜์‹ญ์‹œ์˜ค.

  5. ๋„๋ฉ”์ธ ์ „๋ฌธ๊ฐ€์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์ผํ•œ ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„๋ฉ”์ธ๋ณ„ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  6. ์‹œ์Šคํ…œ์„ ์ง€๋‚˜์น˜๊ฒŒ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ž‘๋™ํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

12์žฅ: ๋ฐฐํฌ

  1. ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†๋Š” ์‹œ์Šคํ…œ์€ ๊ฒ€์ฆํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๊ฒ€์ฆํ•  ์ˆ˜ ์—†๋Š” ์‹œ์Šคํ…œ์€ ๋ฐฐํฌํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

  2. ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋Š” ์ข…์†์„ฑ ์ฃผ์ž…, ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์ถ”์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋” ๋‚˜์€ ๋””์ž์ธ์ด ๋ฉ๋‹ˆ๋‹ค.

  3. ์ข‹์€ ํ…Œ์ŠคํŠธ ์„ธํŠธ๋Š” ๋ฆฌํŒฉํ† ๋ง ์ค‘์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์†์ƒ๋  ๊ฒƒ์ด๋ผ๋Š” ๋‘๋ ค์›€์„ ์—†์• ์ค๋‹ˆ๋‹ค.

  4. ์ฝ”๋“œ๋ฅผ ๋ณต์ œํ•˜๋ฉด ์ฝ”๋“œ์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ๋” ๋งŽ๊ณ  ์˜ค๋ฅ˜๊ฐ€ ์ˆจ๊ฒจ์งˆ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด ๋” ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์œ„ํ—˜์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

  5. ์ง€๊ธˆ ์ž‘์„ฑํ•˜๋Š” ์ฝ”๋“œ๋Š” ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๊นŠ์ด ๊ด€์—ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๊ฐ™์€ ์ˆ˜์ค€์˜ ์ดํ•ด์— ๋นจ๋ฆฌ ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  6. ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ ๋น„์šฉ์˜ ๋Œ€๋ถ€๋ถ„์€ ์žฅ๊ธฐ ์œ ์ง€ ๊ด€๋ฆฌ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  7. ํ…Œ์ŠคํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ด์•ผ ํ•˜๋Š”์ง€(๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€)์— ๋Œ€ํ•œ ์‚ด์•„์žˆ๋Š” ๋ฌธ์„œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

  8. ์ฝ”๋“œ๊ฐ€ ์ž‘๋™ํ•˜๋ฉด ๋” ์ด์ƒ ์›€์ง์ด์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋” ๋ช…ํ™•ํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์„ธ์š”.

  9. ๊ฐ€๊นŒ์šด ์‹œ์ผ ๋‚ด์— ๊ท€ํ•˜์˜ ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋‹ค์Œ ์‚ฌ๋žŒ์€ ๊ท€ํ•˜์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋ฏธ๋ž˜์˜ ์ž์‹ ์—๊ฒŒ ์นœ์ ˆํ•˜์„ธ์š”.

  10. ๋„๊ทธ๋งˆ์— ์ €ํ•ญํ•˜์„ธ์š”. ์‹ค์šฉ์ฃผ์˜๋ฅผ ๋ฐ›์•„๋“ค์ด์„ธ์š”.

  11. ์ •๋ง ํ›Œ๋ฅญํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๋ ค๋ฉด ์ˆ˜์‹ญ ๋…„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ฃผ๋ณ€ ์ „๋ฌธ๊ฐ€๋กœ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋””์ž์ธ ํŒจํ„ด์„ ํ•™์Šตํ•˜๋ฉด ํ•™์Šต ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

13์žฅ: ๋ณ‘๋ ฌ์„ฑ

  1. ๋ณ‘๋ ฌ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

  2. ์žฌํ˜„ํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฐ€๋” ๋ฐœ์ƒํ•˜๋Š” ๋ฒ„๊ทธ์™€ ๋ฌธ์ œ๋Š” ๋™์‹œ์„ฑ ๋ฌธ์ œ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

  3. ํ…Œ์ŠคํŠธ๋ฅผ ํ•œ๋‹ค๊ณ  ํ•ด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฒ„๊ทธ๊ฐ€ ์—†๋‹ค๊ณ  ๋ณด์žฅํ•  ์ˆ˜๋Š” ์—†์ง€๋งŒ ์œ„ํ—˜์€ ์ตœ์†Œํ™”๋ฉ๋‹ˆ๋‹ค.

  4. ์ผ๋ฐ˜์ ์ธ ๋™์‹œ์„ฑ ๋ฌธ์ œ์™€ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์„ธ์š”.

14์žฅ: ์ˆœ์ฐจ์  ๊ฐœ์„ 

  1. ํด๋ฆฐ ์ฝ”๋“œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฑ์ง€์ƒํƒœ์—์„œ ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋Œ€๋žต์ ์ธ ์†”๋ฃจ์…˜์„ ์ž‘์„ฑํ•œ ๋‹ค์Œ ๋ฆฌํŒฉํ„ฐ๋งํ•˜์—ฌ ๋” ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  2. ์ฝ”๋“œ ์ž‘์—…์ด ์‹œ์ž‘๋œ ํ›„์— ์ž‘์—…์„ ์ค‘๋‹จํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋Š” ํ›„์—๋Š” ์‹œ๊ฐ„์„ ๋“ค์—ฌ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ์‹ญ์‹œ์˜ค.

  3. ๋ถˆ์•ˆ์€ ์ ์ฐจ ์ปค์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  4. ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ๋„ˆ๋ฌด ์–ด๋ ต๊ฑฐ๋‚˜ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ƒํ™ฉ์— ์ฒ˜ํ–ˆ๋‹ค๋ฉด ๊ธฐ๋Šฅ ์ž‘์„ฑ์„ ์ค‘๋‹จํ•˜๊ณ  ๋ฆฌํŒฉํ† ๋ง์„ ์‹œ์ž‘ํ•˜์„ธ์š”.

  5. ์ ์ง„์ ์ธ ๋ณ€๊ฒฝ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋‚˜์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

  6. TDD(ํ…Œ์ŠคํŠธ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„์ฃผ ์ž‘์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋งŽ์ด ์ ์šฉํ•˜์„ธ์š”.

  7. ์ข‹์€ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„์—๋Š” ์ฝ”๋“œ์˜ ๋ฌธ์ œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ๋” ์ž‘์€ ๋ชจ๋“ˆ, ํด๋ž˜์Šค ๋ฐ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  8. ๋‚˜์ค‘์— ์ฒญ์†Œํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์—‰๋ง์ง„์ฐฝ์„ ๋งŒ๋“  ํ›„์— ์ฆ‰์‹œ ์ฒญ์†Œํ•˜๋Š” ๊ฒƒ์ด ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค.

15์žฅ: JUnit ๋‚ด๋ถ€

  1. ์Œ์ˆ˜ ๋ณ€์ˆ˜ ์ด๋ฆ„์ด๋‚˜ ์กฐ๊ฑด์‹์€ ์–‘์ˆ˜ ๋ณ€์ˆ˜ ์ด๋ฆ„๋ณด๋‹ค ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ๋” ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

  2. ๋ฆฌํŒฉํ† ๋ง์€ ์‹œํ–‰์ฐฉ์˜ค๋กœ ๊ฐ€๋“ ์ฐฌ ๋ฐ˜๋ณต ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.

  3. ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ฒ˜์Œ ์ฐพ์•˜์„ ๋•Œ๋ณด๋‹ค ๋” ์ข‹๊ฒŒ ๋‚จ๊ฒจ๋‘์„ธ์š”(๋ณด์ด์Šค์นด์šฐํŠธ ๊ทœ์น™). (1์žฅ์—์„œ ๋ฐ˜๋ณต)

16์žฅ: SerialDate ๋ฆฌํŒฉํ† ๋ง

  1. ์ฝ”๋“œ ๋ฆฌ๋ทฐ์™€ ์šฐ๋ฆฌ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋น„ํ‰์€ ์šฐ๋ฆฌ๋ฅผ ๋” ์ข‹๊ฒŒ ๋งŒ๋“ค๊ณ , ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ํ™˜์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. ๋จผ์ € ์ฝ”๋“œ๋ฅผ ์ž‘๋™์‹œํ‚จ ๋‹ค์Œ ์ˆ˜์ •ํ•˜์„ธ์š”.

  3. ๋ชจ๋“  ์ฝ”๋“œ ์ค„์— ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

17์žฅ: ๋ƒ„์ƒˆ์™€ ํœด๋ฆฌ์Šคํ‹ฑ

  1. ํด๋ฆฐ ์ฝ”๋“œ๋Š” ์ผ๋ จ์˜ ๊ทœ์น™์ด ์•„๋‹ˆ๋ผ ์ž‘์—…์˜ ํ’ˆ์งˆ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ€์น˜ ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค.

[์ด ์žฅ์—์„œ Bob ์‚ผ์ดŒ์€ ์ž์‹ ์˜ ์ฝ”๋“œ์™€ ๊ฒฝํ—˜์  ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ 66๊ฐ€์ง€ ๋ณ€ํ˜•์„ ๋” ๋‚˜์—ดํ•˜๋ฉฐ ๊ทธ ์ค‘ ๋งŽ์€ ๋ถ€๋ถ„์ด ์ฑ…์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์—์„œ ๋‹ค๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์žฌํ˜„ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ณธ์งˆ์ ์œผ๋กœ ๊ฐ ํ•ญ๋ชฉ์˜ ์ด๋ฆ„์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ฑ…์„ ์ฝ์–ด๋ณด์‹œ๊ธธ ๊ถŒํ•ฉ๋‹ˆ๋‹ค!]

๊ฒฐ๋ก 

์‹œ์ž‘ํ•œ ๊ณณ์—์„œ ๋๋‚ด๊ฒ ์Šต๋‹ˆ๋‹ค. Robert C. Martin์˜ Clean Code๋Š” ์—ญ๋Œ€ ๊ฐ€์žฅ ์ถ”์ฒœ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฑ…์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ทธ๋Ÿด๋งŒํ•œ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION