๐Ÿ“œ CleanCode

[CleanCode]ํ•จ์ˆ˜-๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋‰ด์ด NUEY 2024. 9. 16. 16:37
๋ฐ˜์‘ํ˜•

 

๋ถ€์ˆ˜ํšจ๊ณผ๋ฅผ ์ผ์œผํ‚ค์ง€ ๋งˆ๋ผ

๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋งž๊ฒŒ ์ž…๋ ฅ๋˜์—ˆ๋Š” ์ง€ ํ™•์ธ๋งŒ ํ•˜๋Š” ํ•จ์ˆ˜์˜€๋Š”๋ฐ

ํ‹€๋ฆด ์‹œ Session์„ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ์‹์˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค.


๋ช…๋ น๊ณผ ์กฐํšŒ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ผ

์•ˆ ์ข‹์€ ์˜ˆ์‹œ. ์ฑ…์—๋Š” ์ด๋Ÿฐ ์‹์œผ๋กœ๋งŒ ์ ํ˜€์žˆ๋Š”๋ฐ
์•„๋ฌด๋ฆฌ ๊ฐ„๋‹จํžˆ ํ•ด๋„ ์ด๋Ÿฐ ์‹์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์งœ์—ฌ๊ฐˆ ๊ฒƒ์ด๋‹ค.

๋ณด๋ฉด ๋‘๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ

  • ๋กœ๊ทธ์ธํ™•์ธ (์กฐํšŒ)
  • ๊ฐ’ ์ €์žฅ (๋ช…๋ น)

์ด๋Ÿฐ ๋‚˜๋ˆ ์•ผ ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค.


์˜ค๋ฅ˜ ์ฝ”๋“œ ๋ณด๋‹ค๋Š”
์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ

์•ˆ ์ข‹์€ ์˜ˆ์‹œ

  • ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—
  • ๋งŒ์•ฝ ๋กœ๊ทธ์ธ ์‹คํŒจ ์‹œ ์—๋Ÿฌ๋ฅผ ๊ทธ ๋•Œ ๊ทธ ๋•Œ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.
  • ์ด๋Ÿฐ ๊ฒฝ์šฐ ๋ณดํ†ต try/catch๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๊ทธ ์ „์—
    → if/else๋กœ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

์ข‹์€ ์˜ˆ์‹œ

 

๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ง€ ์•Œ์•„๋ณด์ž.


try/catch๋ธ”๋ก์„ ๋ฝ‘์•„๋‚ด์„œ
์˜ˆ์™ธ๋„ ํ•˜๋‚˜์˜ ์ž‘์—…์œผ๋กœ

ํด๋ฆฐ ์ฝ”๋“œ

์˜ค๋ฅ˜๋„ ํ•œ๊ฐ€์ง€ ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์—
์˜ค์ง ์˜ค๋ฅ˜๋งŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ
: ํ•จ์ˆ˜๊ฐ€ ํด์ˆ˜๋ก Single entry-exit rule ์ ์šฉ
Single entry-exit rule
๋‹จ์ผ ์ž…/์ถœ๊ตฌ ๊ทœ์น™์œผ๋กœ
๋ชจ๋“  ํ•จ์ˆ˜ ์™€ ํ•จ์ˆ˜๋‚ด ๋ชจ๋“  ๋ธ”๋ก{ }์— ์ž…/์ถœ๊ตฌ๊ฐ€ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฑฐ๋‹ค.
์ฆ‰, ํ•จ์ˆ˜์˜ return๋ฌธ์ด ํ•˜๋‚˜์—ฌ์•ผ ํ•˜๊ณ 
๋ฃจํ”„ ์•ˆ์—์„œ break์ด๋‚˜ continue๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ทœ์น™์ด๋‹ค.

 

ํ•˜์ง€๋งŒ ํ•จ์ˆ˜๊ฐ€ ์ž‘๋‹ค๋ฉด ์œ„ ๊ทœ์น™์€ ๋ณ„ ์ด์ต์„ ๋ณด์ง€ ์•Š๋Š”๋‹ค.

๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๊ฐ€ ์ž‘๋‹ค๋ฉด return, break, continue ๋“ฑ์„ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ์‚ฌ์šฉํ•ด๋„ ๊ดœ์ฐฎ๋‹ค.


์ฒ˜์Œ ์ฝ”๋“œ๋ฅผ ์งค ๋•Œ๋Š”
๊ธธ๊ณ  ๋ณต์žกํ•œ ๊ฒŒ ๋‹น์—ฐํ•˜๋‹ค

 ๋“ค์—ฌ์“ฐ๊ธฐ ๋‹จ๊ณ„๋„ ๋งŽ๊ณ  ๋ฃจํ”„๋„ ๋งŽ๊ณ 

๋ณ€์ˆ˜๋ช…๋„ ๊ธธ๊ณ , ์ธ์ˆ˜๋„ ๋งŽ๊ณ 

ํ•˜์ง€๋งŒ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋ถ€ํ•ฉํ•ด์•ผ ํ•œ๋‹ค.

 

์ด ํ›„์— ์ฝ”๋“œ๋ฅผ ๋‹ค๋“ฌ์œผ๋ฉด์„œ

ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€๋กœ ๋งŒ๋“ค๊ณ  ํด๋ž˜์Šค๋ฅผ ์ชผ๊ฐœ๊ณ  ์ˆœ์„œ๋ฅผ ๋ฐ”๊พธ๋ฉด์„œ๋„

ํ•ญ์ƒ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ํ†ต๊ณผํ•ด์•ผ ํ•œ๋‹ค.

 

๋ฐ˜์‘ํ˜•