๐Ÿ“œ CleanCode

[CleanCode]์˜ค๋ฅ˜์ฒ˜๋ฆฌ-์˜ˆ์™ธ์‚ฌ์šฉ๋ฒ•

๋‰ด์ด NUEY 2024. 9. 27. 18:12
๋ฐ˜์‘ํ˜•

 

๋ฏธํ™•์ธunchecked์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ

 

์ด์ „์—๋Š” ์ด์™€ ๊ฐ™์ด ํ™•์ธ๋œ Checked ์˜ˆ์™ธ๋ฅผ ๋ฉ‹์ง€๋‹ค ์ƒ๊ฐํ–ˆ์ง€๋งŒ

  • Python, C#, C++ ๋ชจ๋‘ ์˜ˆ์™ธ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์ง€๋งŒ ์•ˆ์ •์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค.
  • ๋˜ํ•œ ํ™•์ธ๋œ ์˜ˆ์™ธ๋ฅผ ์ตœํ•˜์œ„ ํ•จ์ˆ˜๋ผ๋ฉฐ ์ƒ์œ„ ํ•จ์ˆ˜ ๋ชจ๋‘๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๋Š” ์—ฐ์‡„์ž‘์šฉ์ด ์ผ์–ด๋‚˜
    OCP(์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ์ฒด๋Š” ํ™•์žฅ์— ๋Œ€ํ•ด ์—ด๋ ค ์žˆ์–ด์•ผ ํ•˜๊ณ , ์ˆ˜์ •์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค)๋ฅผ ์œ„๋ฐ˜ํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ํ™•์ด๋œ ์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋งŒํผ ์—ฐ๊ด€ํ•จ์ˆ˜๋“ค๋„ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒํ•œ๋‹ค.
ํ•˜์ง€๋งŒ ์ค‘์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๋ฉด ํ™•์ธ๋œ ์˜ˆ์™ธ๋„ ์œ ์šฉํ•˜๋‹ค.

์˜ˆ์™ธ์— ์˜๋ฏธ๋ฅผ ์ œ๊ณตํ•˜๋ผ

  • ์˜ˆ์™ธ๋ฅผ ๋˜์งˆ ๋•Œ ์ „ํ›„ ์ƒํ™ฉ์„ ์ถฉ๋ถ„ํžˆ ๋ง๋ถ™์ธ๋‹ค.
  • Java๋Š” ๋ชจ๋“  ์˜ˆ์™ธ์— ํ˜ธ์ถœ ์Šคํƒ์„ ์ œ๊ณตํ•˜์ง€๋งŒ
    ๊ทธ ์™ธ์—๋„ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์— ์ •๋ณด๋ฅผ ๋‹ด์•„ ํ•จ๊ป˜ ๋˜์ง„๋‹ค.
    ex)
    "ํ”„๋กœ์„ธ์Šค ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ: 0์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค."
Exception์˜ printStackTrace()
์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์ˆœ์„œ, ๊ฒฝ๋กœ, ์ˆœ์„œ ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
printStackTrace()๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ
printStackTrace()๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๊ฒฝ์šฐ

ํ˜ธ์ถœ์ž๋ฅผ ๊ณ ๋ คํ•ด
์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋ผ

  • ์—ฌ๊ธฐ์„œ LocalPort๋Š” ACMEPort ํด๋ž˜์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ 
    ACMEPort ํด๋ž˜์Šค๊ฐ€ ๋˜์ง€๋Š” ์˜ˆ์™ธ๋ฅผ ์žก์•„ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฐ์‹ธ๊ธฐwrapper ํด๋ž˜์Šค์ด๋‹ค.
  • ์™ธ๋ถ€ API๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ฐ์‹ธ๊ธฐ ๊ธฐ๋ฒ•์ด ์ตœ์„ ์ด๋‹ค.
    ๊ฐ์‹ธ๋ฉด ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ์˜์กด์„ฑ์ด ํฌ๊ฒŒ ์ค„์–ด๋“ ๋‹ค.
  • ๋˜ํ•œ ์™ธ๋ถ€ API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋Œ€์‹  ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ํ”„๋กœ๊ทธ๋žจ์„ ํ…Œ์ŠคํŠธํ•˜๊ธฐ๋„ ์‰ฌ์›Œ์ง„๋‹ค.
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ์—…์ฒด๊ฐ€ ์„ค๊ณ„ํ•œ ๋ฐฉ์‹์— ๋ฐœ๋ชฉ์žกํžˆ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
    (ex)๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค ์น˜๋ฉด ๊ฐ์‹ธ๊ธฐ ํด๋ž˜์Šค์—์„œ ์ด๋ฅผ ํŽธํ•˜๊ฒŒ ๋ณ€ํ™˜ํ•ด์„œ ์จ๋„ ๋œ๋‹ค๋Š” ๋“ฏ)
๋Œ€๋ถ€๋ถ„์€ ์˜ˆ์™ธ ํด๋ž˜์Šค์— ํฌํ•จ๋œ ์ •๋ณด๋กœ ์˜ค๋ฅ˜๋ฅผ ๊ตฌ๋ถ„ํ•ด๋„ ๊ดœ์ฐฎ๊ธฐ์— ์˜ˆ์™ธํด๋ž˜์Šค๋Š” ํ•˜๋‚˜๋กœ ์กฑํ•˜๋‹ค.
์—ฌ๋Ÿฌ ์˜ˆ์™ธ ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋Š” ํ•œ ์˜ˆ์™ธ๋Š” ์žก์•„๋‚ด๊ณ  ๋‹ค๋ฅธ ์˜ˆ์™ธ๋Š” ๋ฌด์‹œํ•ด๋„ ๊ดœ์ฐฎ์€ ๊ฒฝ์šฐ์ด๋‹ค.

โ€ป ์˜ˆ์™ธ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

2024.11.04 - [โ˜• ์ž๋ฐ” JAVA/โ˜• ํด๋ž˜์Šค์™€ ํ•จ์ˆ˜ Class & Method] - [JAVA]์‚ฌ์šฉ์ž์ •์˜ ์˜ˆ์™ธํด๋ž˜์Šค ๋งŒ๋“ค๊ธฐ, ์—ฐ๊ฒฐ๋œ ์˜ˆ์™ธ

 

๋ฐ˜์‘ํ˜•