ํ”„๋กœ๋ž€ ๋ฌด์—‡์ผ๊นŒ? ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ํ”„๋กœ์™€ ์ €์ž์˜ ํ”„๋กœ๋Š” ๋ฌด์—‡์ด ๋‹ค๋ฅผ๊นŒ?

Clean Coder

  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ „์„ค๋กœ ์•Œ๋ ค์ง„ ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด์˜ ์ €์„œ์ด๋‹ค.
  • ํ”„๋กœ๋ž€ ๋ฌด์—‡์ธ์ง€, ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ๋กœ์„œ ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๊ณ  ํ–‰๋™ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์ ํ˜€์žˆ๋‹ค.

๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ํ”„๋กœ๋ž€?

  • ๋ช…ํ™•ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์— ํ•  ์ˆ˜ ์žˆ๋‹คํ•˜๋Š” ๊ฒƒ
  • ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•œ ๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ์ •ํ™•ํ•œ ๋‚ ์งœ์— ํ•ด๋‚ด๋Š” ๊ฒƒ.
  • ๋ฏฟ์Œ๊ณผ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ์ฑ…์ž„์ง€๋Š” ๊ฒƒ.
  • ์ข‹์€ ๊ฒƒ์€ ์ข‹๋‹ค, ์•„๋‹Œ ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๊ณ  ๋ช…ํ™•ํ•˜๊ฒŒ ๋งํ•˜๋Š” ๊ฒƒ.
  • ์ผ์ •์€ ๋ณด์ˆ˜์ ์œผ๋กœ ์žก์„ ๊ฒƒ.

๊ทธ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ํ”„๋กœ๋ž€?

  • ํƒœ๋„
  • ์›์น™
  • ํ–‰๋™

์ด ์ฑ…์„ ์ฝ๋Š” ๋ฐฉ๋ฒ•

  • ๊ทธ๋Š” ์œ„์˜ ์‚ฌ์‹ค๋“ค์„ ๊ณ ์ƒํ•˜๋ฉฐ ๋ฐฐ์› ๋‹ค.
  • ๋ณธ์ธ์ด ์‚ด๋ฉด์„œ ์ž˜๋ชปํ•œ ์ผ์˜ ๋ชฉ๋ก, ๋ฒ”์ฃ„์ผ์ง€, ์ดˆ๋…„์ƒ๋•Œ ํ–ˆ๋˜ ์‹ค์ˆ˜๋“ค์„ ๋ชจ์•„๋†“์•˜๋‹ค.
  • ์ด๋Ÿฐ ์‹ค์ˆ˜๋“ค์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ฃผ๋Š” ์•ˆ๋‚ด์„œ์ด๋‹ค.

๋“ค์–ด๊ฐ€๋ฉฐ

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

๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ

  • ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๋ž€?
  • ํ”„๋กœ๋Š” ์–ด๋–ป๊ฒŒ ํ–‰๋™ํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
  • ํ”„๋กœ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ๋žŒ๋“ค ์‚ฌ์ด์˜ ๋Œ€๋ฆฝ / ๋นก๋นกํ•œ ์ผ์ • / ๋ถˆํ•ฉ๋ฆฌํ•œ ๊ด€๋ฆฌ์ž๋ฅผ ๊ฐ๋‹นํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
  • ํ”„๋กœ๋Š” ์–ธ์ œ, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ โ€œ์•„๋‹ˆ์š”โ€๋ผ๊ณ  ๋งํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
  • ํ”„๋กœ๋Š” ์–ด๋–ป๊ฒŒ ์••๋ฐ•์„ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฐ€?

๋ง‰์ค‘ํ•œ ์ฑ…์ž„์„ ๊ธฐ๊บผ์ด ์งŠ์–ด์ง€๊ฒ ๋‹ค๋Š” ์˜์ง€๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์„ ์‹ค์ฒœํ•ด์•ผ ํ•œ๋‹ค.

Reference