< Clean Code > Day 2,3

์ดํ˜„์ •ยท2022๋…„ 1์›” 21์ผ
0

Day 2,3

๐Ÿ”– ์˜ค๋Š˜ ์ฝ์€ ๋ฒ”์œ„: 1์žฅ ๊นจ๋—ํ•œ ์ฝ”๋“œ


๐Ÿ˜ƒ ์ฑ…์—์„œ ๊ธฐ์–ตํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์„ ์จ๋ณด์„ธ์š”.


'๊ณ ํ–‰Wading'์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ํ—ค์ณ๋‚˜๊ฐ„๋‹ค.

๊ทธ๋ž˜๋„ ์•ˆ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœ๊ทธ๋žจ๋ณด๋‹ค ๋Œ์•„๊ฐ€๋Š” ์“ฐ๋ ˆ๊ธฐ๊ฐ€ ์ข‹๋‹ค๊ณ  ์Šค์Šค๋กœ๋ฅผ ์œ„๋กœํ•œ ๊ฒฝํ—˜์ด ์žˆ๋‹ค. ๋‹ค์‹œ ๋Œ์•„์™€ ๋‚˜์ค‘์— ์ •๋ฆฌํ•˜๊ฒ ๋‹ค๊ณ  ๋‹ค์งํ–ˆ์—ˆ๋‹ค. ๋ฌผ๋ก  ๊ทธ๋•Œ ๊ทธ ์‹œ์ ˆ ์šฐ๋ฆฌ๋Š” ๋ฅด๋ธ”๋ž‘์˜ ๋ฒ•์น™leblanc's law ๋ฅผ ๋ชฐ๋ž๋‹ค. ๋‚˜์ค‘์€ ๊ฒฐ์ฝ” ์˜ค์ง€ ์•Š๋Š”๋‹ค.("Later equals Never.")

์‚ฌ์šฉ์ž๋Š” ์š”๊ตฌ์‚ฌํ•ญ์„ ๋‚ด๋†“์œผ๋ฉฐ ์šฐ๋ฆฌ์—๊ฒŒ ํ˜„์‹ค์„ฑ์„ ์ž๋ฌธํ•œ๋‹ค.

์—ด์‡ ๋Š” '์ฝ”๋“œ ๊ฐ๊ฐ' ์ด๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ์€ ์ฝ”๋“œ ๊ฐ๊ฐ์„ ํƒ€๊ณ ๋‚œ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ์€ ํˆฌ์Ÿํ•ด์„œ ์–ป์–ด์•ผ ํ•œ๋‹ค. '์ฝ”๋“œ ๊ฐ๊ฐ'์ด ์žˆ์œผ๋ฉด ์ข‹์€ ์ฝ”๋“œ์™€ ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค. ๊ทธ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋‹ค. ์ ˆ์ œ์™€ ๊ทœ์œจ์„ ์ ์šฉํ•ด ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ์ข‹์€ ์ฝ”๋“œ๋กœ ๋ฐ”๊พธ๋Š” ์ „๋žต๋„ ํŒŒ์•…ํ•œ๋‹ค.

"๋‚˜๋Š” ์šฐ์•„ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ข‹์•„ํ•œ๋‹ค. ๋…ผ๋ฆฌ๊ฐ€ ๊ฐ„๋‹จํ•ด์•ผ ๋ฒ„๊ทธ๊ฐ€ ์ˆจ์–ด๋“ค์ง€ ๋ชปํ•œ๋‹ค. ์˜์กด์„ฑ์„ ์ตœ๋Œ€ํ•œ ์ค„์—ฌ์•ผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค. ์˜ค๋ฅ˜๋Š” ๋ช…๋ฐฑํ•œ ์ „๋žต์— ์˜๊ฑฐํ•ด ์ฒ ์ €ํžˆ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์„ฑ๋Šฅ์„ ์ตœ์ ์œผ๋กœ ์œ ์ง€ํ•ด์•ผ ์‚ฌ๋žŒ๋“ค์ด ์›์น™ ์—†๋Š” ์ตœ์ ํ™”๋กœ ์ฝ”๋“œ๋ฅผ ๋ง์น˜๋ ค๋Š” ์œ ํ˜น์— ๋น ์ง€์ง€ ์•Š๋Š”๋‹ค. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ํ•œ ๊ฐ€์ง€๋ฅผ ์ œ๋Œ€๋กœ ํ•œ๋‹ค."
, ๋น„์•ผ๋„ค ์ŠคํŠธ๋กญ์ŠคํŠธ๋ฃน, C++ ์ฐฝ์‹œ์ž์ด์ž The C++ Programming Language ์ €์ž

๊ทธ๋ž˜๋””๋Š” ๋น„์•ผ๋„ค์™€ ํก์‚ฌํ•œ ์˜๊ฒฌ์„ ํ‘œ๋ช…ํ•˜์ง€๋งŒ ๊ฐ€๋…์„ฑ์„ ๊ฐ•์กฐํ•œ๋‹ค. ๋‚˜๋Š” ๊นฉ์Šคํ•œ ์ฝ”๋“œ๊ฐ€ ์ž˜ ์“ด ๋ฌธ์žฅ์ฒ˜๋Ÿผ ์ฝํ˜€์•ผ ํ•œ๋‹ค๋Š” ์‹œ๊ฐ์„ ํŠนํžˆ ์ข‹์•„ํ•œ๋‹ค. "๋ช…์พŒํ•œcrisp: ํž˜์ฐจ๊ฒŒ ๋‹จํ˜ธํ•˜๊ณ , ์‚ฌ์‹ค์ ์ธ; ์ฃผ์ €ํ•˜์ง€ ์•Š๋Š”; ๋ถˆํ•„์š”ํ•œ ์‚ฌ์‹ค์— ์–ฝ๋งค์ด์ง€ ์•Š๋Š”"

๋ฐ์ด๋ธŒ๋Š” ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ž€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๊ณ ์น˜๊ธฐ ์‰ฝ๋‹ค๊ณ  ๋‹จ์–ธํ•œ๋‹ค. ๋ฐ์ด๋ธŒ๋Š” ๋˜ํ•œ ์ฝ”๋“œ๊ฐ€ '๋ฌธํ•™์ '์ด์–ด์•ผ ํ•œ๋‹ค๊ณ  ๋งํ•œ๋‹ค. ์š”์ ์€ ์ธ๊ฐ„์ด ์ฝ๊ธฐ ์ข‹์€ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ผ๋Š” ๋ง์ด๋‹ค.

๋งˆ์ดํด์€ ์ •๊ณก์„ ์ฐŒ๋ฅธ๋‹ค. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ์ฃผ์˜ ๊นŠ๊ฒŒ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋‹ค.

๋ช…๋ฐฑํ•˜๊ณ  ๋‹จ์ˆœํ•ด ๋งˆ์Œ์ด ๋Œ๋ฆฌ๋Š” ์ฝ”๋“œ๊ฐ€ ๊นจ๋—ํ•œ ์ฝ”๋“œ์ด๋‹ค.

์ƒˆ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉด์„œ ์šฐ๋ฆฌ๋Š” ๋Š์ž„์—†์ด ๊ธฐ์กด ์ฝ”๋“œ๋ฅผ ์ฝ๋Š”๋‹ค. ๋น„์œจ์ด ์ด๋ ‡๊ฒŒ ๋†’์œผ๋ฏ€๋กœ ์ผ๊ธฑ ์‰ฌ์šด ์ฝ”๋“œ๊ฐ€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

๋ฏธ๊ตญ ๋ณด์ด์Šค์นด์šฐํŠธ๊ฐ€ ๋”ฐ๋ฅด๋Š” ๊ฐ„๋‹จํ•œ ๊ทœ์น™์ด ์šฐ๋ฆฌ ์ „๋ฌธ๊ฐ€๋“ค์—๊ฒŒ๋„ ์œ ์šฉํ•˜๋‹ค.
"์บ ํ”„์žฅ์€ ์ฒ˜์Œ ์™”์„ ๋•Œ๋ณด๋‹ค ๋” ๊นจ๋—ํ•˜๊ฒŒ ํ•ด๋†“๊ณ  ๋– ๋‚˜๋ผ."

"์—ฐ์Šตํ•ด, ์—ฐ์Šต!"

๐Ÿค” ์˜ค๋Š˜ ์ฝ์€ ์†Œ๊ฐ์€? ๋– ์˜ค๋ฅด๋Š” ์ƒ๊ฐ์„ ๊ฐ€๋ณ๊ฒŒ ์ ์–ด๋ณด์„ธ์š”


"๋‚˜๋Š” ์šฐ์•„ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ข‹์•„ํ•œ๋‹ค. ๋…ผ๋ฆฌ๊ฐ€ ๊ฐ„๋‹จํ•ด์•ผ ๋ฒ„๊ทธ๊ฐ€ ์ˆจ์–ด๋“ค์ง€ ๋ชปํ•œ๋‹ค. ์˜์กด์„ฑ์„ ์ตœ๋Œ€ํ•œ ์ค„์—ฌ์•ผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›Œ์ง„๋‹ค. ์˜ค๋ฅ˜๋Š” ๋ช…๋ฐฑํ•œ ์ „๋žต์— ์˜๊ฑฐํ•ด ์ฒ ์ €ํžˆ ์ฒ˜๋ฆฌํ•œ๋‹ค. ์„ฑ๋Šฅ์„ ์ตœ์ ์œผ๋กœ ์œ ์ง€ํ•ด์•ผ ์‚ฌ๋žŒ๋“ค์ด ์›์น™ ์—†๋Š” ์ตœ์ ํ™”๋กœ ์ฝ”๋“œ๋ฅผ ๋ง์น˜๋ ค๋Š” ์œ ํ˜น์— ๋น ์ง€์ง€ ์•Š๋Š”๋‹ค. ๊นจ๋—ํ•œ ์ฝ”๋“œ๋Š” ํ•œ ๊ฐ€์ง€๋ฅผ ์ œ๋Œ€๋กœ ํ•œ๋‹ค."
, ๋น„์•ผ๋„ค ์ŠคํŠธ๋กญ์ŠคํŠธ๋ฃน, C++ ์ฐฝ์‹œ์ž์ด์ž The C++ Programming Language ์ €์ž

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

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


๐Ÿ”Ž ๊ถ๊ธˆํ•œ ๋‚ด์šฉ์ด ์žˆ๊ฑฐ๋‚˜, ์ž˜ ์ดํ•ด๋˜์ง€ ์•Š๋Š” ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์ ์–ด๋ณด์„ธ์š”.

x

์†Œ๊ฐ 3์ค„ ์š”์•ฝ

  • "๋‚˜๋Š” ์šฐ์•„ํ•˜๊ณ  ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ข‹์•„ํ•œ๋‹ค."
  • ์ •๋ฆฌํ•˜๋ฉด, ๊นจ๋—ํ•œ ์ฝ”๋“œ๋ž€: ๊ฐ€๋…์„ฑ์ด ์ข‹๊ณ , ๋…ผ๋ฆฌ๊ฐ€ ๊ฐ„๋‹จํ•˜๋ฉฐ, ์˜์กด์„ฑ์ด ๋‚ฎ๊ณ , ํ•œ๊ฐ€์ง€ ๋ฌธ์ œ๋งŒ์„ ํ’€๊ธฐ ์œ„ํ•ด ์งœ์—ฌ์ง„ (ํ•œ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ œ๋Œ€๋กœ ํ•˜๋Š”) ์ฝ”๋“œ
  • "์—ฐ์Šตํ•ด, ์—ฐ์Šต!"

0๊ฐœ์˜ ๋Œ“๊ธ€