๐Ÿ“œ CleanCode 17

[CleanCode]์˜ค๋ฅ˜์ฒ˜๋ฆฌ-์ •์ƒ ํ๋ฆ„์„ ์ •์˜ํ•˜๋ผ

ํŠน์ˆ˜ ์‚ฌ๋ก€ ํŒจํ„ดSpecial Case PatternํŠน์ˆ˜ ์‚ฌ๋ก€ ํŒจํ„ด์ด๋ž€?ํด๋ž˜์Šค๋‚˜ ๊ฐ์ฒด๋กœ ์กฐ์ž‘ํ•ด ํŠน์ˆ˜ ์‚ฌ๋ก€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.ํ•œ๋งˆ๋””๋กœ ์˜ˆ์™ธ๊ฐ€ ์•„๋‹ˆ๋ผ ์ฝ”๋“œ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด, ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ์„ ์บก์Šํ™”ํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๊ธธ ๊ถŒ์žฅํ•œ๋‹ค.null์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ๋งˆ๋ผ๋Œ€์‹  Colloections.emptyList()๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ผnull์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฝ”๋“œ๋Š” ์ผ๊ฑฐ๋ฆฌ๋ฅผ ๋Š˜๋ฆฌ๊ณ  ํ˜ธ์ถœ์ž์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ๋„˜๊ฒจ๋ฒ„๋ฆฐ๋‹ค.๋ˆ„๊ตฌ ํ•œ๋ช…์ด๋ผ๋„ nullํ™•์ธ์„ ๋นผ๋จน๋Š”๋‹ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ†ต์ œ ๋ถˆ๋Šฅ ์—๋Ÿฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.Collections.emptyList()๋ฐ˜ํ™˜ํƒ€์ž…์ด List๋ผ์„œ ์ฟผ๋ฆฌ๋กœ ๋ญ”๊ฐ€๋ฅผ ์กฐํšŒํ•ด์„œ ์‚ฌ์šฉํ•  ๋•Œ ์ •๋ง ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.์ •ํ™•ํžˆ๋Š” Dao์—์„œ ์กฐํšŒ๋œ ์ž๋ฃŒ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ์ ๊ธฐ ์ ํ•ฉํ•  ๊ฒƒ ๊ฐ™๊ตฌ์š”.* ํ•˜์ง€๋งŒ ์šฐ์„  ์ฟผ๋ฆฌ๊ฐ€ ์ •์ƒ์ž‘๋™ํ•˜๋Š” ์ง€ ํ™•์ธ์„ ๋‹ค ํ•˜๊ณ ๋‚˜์„œ ์ถ”๊ฐ€ํ•˜..

๐Ÿ“œ CleanCode 2024.09.28

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

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

๐Ÿ“œ CleanCode 2024.09.27

[CleanCode]์˜ค๋ฅ˜์ฒ˜๋ฆฌ-์˜ค๋ฅ˜์ฝ”๋“œ๋ณด๋‹ค ์˜ˆ์™ธ(try/catch&throws)๋ฅผ ์ด์šฉํ•˜๋ผ

์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ ์ด ๊ธ€์„ ๊ฐ„๋‹จํžˆ ๋ณด์‹œ๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.https://yeun-devlog.tistory.com/entry/JAVA%EC%98%88%EC%99%B8-%EC%97%90%EB%9F%AC-throw-throws [JAVA]์˜ˆ์™ธ & ์—๋Ÿฌ, throw & throws์˜ˆ์™ธ & ์—๋ŸฌException & Error์—๋Ÿฌ Error๊ฐ„๋‹จํžˆ ๋งํ•ด ์—๋Ÿฌ๋Š” ์‹ฌ๊ฐํ•œ ๊ฒฝ์šฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.ex) ์‹œ์Šคํ…œ์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ถ€์กฑ์˜ˆ์™ธ Exception์ฝ”๋“œ๋ฅผ Runํ•˜๊ธฐ ์ „, ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ๊ฐœ๋ฐœ์ž์˜ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—์„œ ๋ฐœ์ƒํ•˜yeun-devlog.tistory.com์˜ค๋ฅ˜ ์ฝ”๋“œ๋ณด๋‹ค์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ์˜ค๋ฅ˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜INVALIDDEVICE_SUSPENDEDํ˜ธ์ถœ์ž์—๊ฒŒ ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ „๋ถ€์˜€๋‹ค.logger.log(Level...

๐Ÿ“œ CleanCode 2024.09.25

[CleanCode]๊ฐ์ฒด์™€ ์ž๋ฃŒ๊ตฌ์กฐ 2

๋””๋ฏธํ„ฐ ๋ฒ•์น™Law of Demeter: ๋ชจ๋“ˆ์€ ์ž์‹ ์ด ์กฐ์ž‘ํ•˜๋Š” ๊ฐ์ฒด์˜ ์†์‚ฌ์ •์„ ๋ชฐ๋ผ์•ผ ํ•œ๋‹ค.๊ฐ์ฒด๋Š” ์ž๋ฃŒ๋ฅผ ์ˆจ๊ธฐ๊ณ  ํ•จ์ˆ˜๋ฅผ ๊ณต๊ฐœํ•œ๋‹ค.์ฆ‰, ๊ฐ์ฒด๋Š” ์กฐํšŒํ•จ์ˆ˜๋กœ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๊ณต๊ฐœํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.๋Œ€ํ‘œ์ ์ธ ํœด๋ฆฌ์Šคํ‹ฑ์ด๋‹ค.ํœด๋ฆฌ์Šคํ‹ฑ  Heuristic์™„๋ฒฝํ•˜์ง„ ์•Š์ง€๋งŒ, ์ผ๋ฐ˜๋ฒ•์œผ๋กœ ์ข‹์€/๊ฐ„๋‹จํ•œ ํ•ด๊ฒฐ๋ฒ•์„ ๋งํ•œ๋‹ค.์ž์„ธํ•œ ์˜ˆ์‹œ๋กœํด๋ž˜์Šค C์˜ ๋ฉ”์„œ๋“œ f๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋งŒ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค.ํด๋ž˜์Šค Cf ๊ฐ€ ์ƒ์„ฑํ•œ ๊ฐ์ฒดf ์ธ์ˆ˜๋กœ ๋„˜์–ด์˜จ ๊ฐ์ฒดC ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ์ฒดํ•˜์ง€๋งŒ ์œ„ ๊ฐ์ฒด์—์„œ ํ—ˆ์šฉ๋œ ๋ฉ”์„œ๋“œ๊ฐ€ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋Š” ํ˜ธ์ถœํ•˜๋ฉด ์•ˆ๋œ๋‹ค.๋ณต์žกํ•œ ๋“ฏ์ด ๋ณด์ด์ง€๋งŒ ๋””๋ฏธํ„ฐ ๋ฒ•์น™์„ ์œ„๋ฐ˜ํ•˜๋Š” ์‚ฌ๋ก€๋งŒ ํ”ผํ•˜๋ฉด ๋œ๋‹ค.ํด๋ž˜์Šค A→B์—์„œ ์กฐํšŒ๋ฅผ ํ–ˆ๋‹ค๋ฉด B์— ์žˆ๋Š” ์ž๋ฃŒ๋งŒ ๊ฐ€์ ธ์™€์•ผ์ง€A→B→C์กฐํšŒ๋ฅผ ํ•˜๋ฉด ์•ˆ๋œ๋‹ค๋Š” ๊ฑฐ๋‹ค.ํ•œ๋งˆ๋””๋กœ ์ฝ”๋“œ๊ฐ€ ๊ผฌ์ธ ..

๐Ÿ“œ CleanCode 2024.09.23

[CleanCode]๊ฐ์ฒด์™€ ์ž๋ฃŒ๊ตฌ์กฐ 1

๊ฐ ๋ณ€์ˆ˜๋งˆ๋‹ค get/set ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋ฉด ๊ตฌํ˜„์„ ์™ธ๋ถ€๋กœ ๋…ธ์ถœํ•˜๋Š” ์…ˆ์ด๋‹ค.๋ณ€์ˆ˜ ์‚ฌ์ด์— ํ•จ์ˆ˜๋ฅผ ๋„ฃ๋Š”๋‹ค๊ณ  ๊ตฌํ˜„์ด ๊ฐ์ถฐ์ง€์ง„ ์•Š๊ธฐ์— ์ถ”์ƒํ™”๊ฐ€ ํ•„์š”ํ•˜๋‹ค.๊ฐ์ฒด ↔ ์ž๋ฃŒ๊ตฌ์กฐ๊ฐ์ฒดObject๋Š” ์ถ”์ƒํ™” ๋’ค๋กœ ์ˆจ๊ธด ์ฑ„ ํ•จ์ˆ˜๋งŒ ๊ณต๊ฐœํ•œ๋‹ค.์ž๋ฃŒ๊ตฌ์กฐ๋Š”Data structure ์ž๋ฃŒ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ณต๊ฐœํ•˜๋ฉฐ ๋ณ„๋‹ค๋ฅธ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.๋‘ ๊ฐœ๋…์€ ๊ฑฐ์˜ ์ •๋ฐ˜๋Œ€๋‹ค. ์•„๋ž˜ ๊ฐ™์€ ๋‚ด์šฉ์˜ ์ฝ”๋“œ๋ฅผ ์ ˆ์ฐจ์ง€ํ–ฅ/๊ฐ์ฒด์ง€ํ–ฅ ๊ตฌ์กฐ๋กœ ์•Œ์•„๋ณด์ž.์ ˆ์ฐจ์ง€ํ–ฅ ๊ตฌ์กฐ๊ฐ์ฒด์ง€ํ–ฅ ๊ตฌ์กฐ ์ด๋ ‡๋“ฏ ๊ฐ์ฒด์ง€ํ–ฅ/์ ˆ์ฐจ์ง€ํ–ฅ ๊ตฌ์กฐ๋Š” ๋ฐ˜๋Œ€๋˜๋ฉฐ ๊ฐ ์žฅ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.์ ˆ์ฐจ์ ์ธ ์ฝ”๋“œ๋Š” ๊ธฐ์กด ์ž๋ฃŒ๊ตฌ์กฐ(๋„ํ˜•)๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์ƒˆ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฝ๊ณ ↔ ์ž๋ฃŒ ๊ตฌ์กฐ class๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ํ•จ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•ด์•ผ ํ•œ๋‹ค.๊ฐ์ฒด์ง€ํ–ฅ์€ ๊ธฐ์กด ํ•จ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์ƒˆ ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์‰ฝ๋‹ค.↔ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ..

๐Ÿ“œ CleanCode 2024.09.23

[CleanCode]ํ˜•์‹ ๋งž์ถ”๊ธฐ

์ฝ”๋“œ ํ˜•์‹์€ ์˜์‚ฌ์†Œํ†ต์ด๋‹คํ”„๋กœ์ ํŠธ๊ฐ€ ์ปค์งˆ ์ˆ˜๋ก ์ˆ˜๋งŽ์€ ๊ฐœ๋ฐœ์ž๋“ค์ด ๋งŒ๋“  ํด๋ž˜์Šค๋ฅผ ๋ณด๊ฒŒ ๋  ํ…๋ฐ ๊ฐœ๋ฐœ์ž๋งˆ๋‹ค ๊ณ ์œ ์˜ ์Šคํƒ€์ผ๋กœ ์ฝ”๋“œ๋ฅผ ์ ์–ด๋‘์—ˆ๋‹ค๋ฉด ์ƒ๋‹นํžˆ ์ฝ๊ธฐ ํž˜๋“ค ๊ฒ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœ์ดˆ๊ธฐ์— tab์˜ ํฌ๊ธฐ์™€ font, ์ฃผ์„ํ˜•์‹์„ ๋ชจ๋‘ ์ •ํ•ด๋‘๊ณ  ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฑธ ์ผ์ผํžˆ ๊ฒ€์‚ฌํ•  ์ˆ˜๋Š” ์—†์œผ๋‹ˆ๊นŒ sonarQube๋ฅผ ์ด์šฉํ•ด ํ˜•์‹์„ ๊ฒ€์‚ฌํ•˜๋ฉด ํ˜•์‹์— ๋งž์ง€ ์•Š๋Š” ์ฝ”๋“œ๋“ค์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ ์ ˆํ•œ ํ–‰(์„ธ๋กœ) ๊ธธ์ด Lines์ฑ…์— ๋”ฐ๋ฅด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” tomcat ๋“ฑ ๊ฑฐ๋Œ€ํ•œ ์‹œ์Šคํ…œ๋„ ํด๋ž˜์Šค์˜ ๊ธธ์ด๊ฐ€ ๋Œ€๊ฐœ 200์ค„์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ž‘์€ ํŒŒ์ผ๋“ค๋กœ๋„ ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ฆ๊ฑฐ๋‹ค.๊ฐ€๋กœ ํ˜•์‹ ๋งž์ถ”๊ธฐ์‹ ๋ฌธ ๊ธฐ์‚ฌ์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๋ผ๋…์ž๋Š” ์‹ ๋ฌธ์„ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ฝ๋Š”๋‹ค.์ตœ์ƒ๋‹จ์— ๊ฐ€์žฅ ํฐ ํ‘œ์ œ๊ฐ€ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์ด ์ ํ˜€์žˆ๋‹ค.์ด๋ฆ„์€ ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ์„ค..

๐Ÿ“œ CleanCode 2024.09.21

[CleanCode]๋‚˜์œ ์ฃผ์„

์ฃผ์ ˆ๊ฑฐ๋ฆฌ๋Š” ์ฃผ์„์ž‘์„ฑํ•œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹ˆ๋ฉฐ ์ดํ•ด๊ฐ€ ์•ˆ ๋˜์–ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊นŒ์ง€ ๋’ค์ ธ์•ผํ•˜๋Š” ์ฃผ์„์€ ์ข‹์ง€ ์•Š๋‹ค.๊ฐ™์€ ์ด์•ผ๊ธฐ๋ฅผ ์ค‘๋ณตํ•˜๋Š” ์ฃผ์„.์žˆ์œผ๋‚˜ ๋งˆ๋‚˜ ํ•œ ์ฃผ์„ ์˜คํ•ด์˜ ์—ฌ์ง€ํ˜น์€์‚ด์ง ์ž˜๋ชป๋œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ์ฃผ์„์˜๋ฌด์ ์œผ๋กœ ๋‹ค๋Š” ์ฃผ์„์ด๋ ฅ์„ ๊ธฐ๋กํ•˜๋Š” ์ฃผ์„์œ„์น˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฃผ์„๊ณต๋กœ๋ฅผ ๋Œ๋ฆฌ๊ฑฐ๋‚˜ ์ €์ž๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฃผ์„์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ์ฝ”๋“œHTML์ฃผ์„์ „์—ญ ์ •๋ณด์ฃผ์„์„ ๋‹ฌ ๋• ๊ทผ์ฒ˜์— ์žˆ๋Š” ์ฝ”๋“œ๋งŒ ๊ธฐ์ˆ ํ•˜๋ผ.์‹œ์Šคํ…œ ์ „๋ฐ˜์  ์ •๋ณด๋ฅผ ๊ธฐ์ˆ ํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.ex) ํฌํŠธ๊ฐ’ ์ •๋ณด ๋“ฑ๋„ˆ๋ฌด ๋งŽ์€ ์ •๋ณด๋ชจํ˜ธํ•œ ๊ด€๊ณ„ํ•จ์ˆ˜ ํ—ค๋”

๐Ÿ“œ CleanCode 2024.09.20

[CleanCode]์ข‹์€ ์ฃผ์„

๋ฒ•์ ์ธ ์ฃผ์„์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฃผ์„ ์˜๋„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ฃผ์„.์˜๋„๋ฅผ ๋ช…๋ฃŒํ•˜๊ณ  ๋ฐํžˆ๋Š” ์ฃผ์„.๊ฒฐ๊ณผ๋ฅผ ๊ฒฝ๊ณ ํ•˜๋Š” ์ฃผ์†Œ์˜ˆ์ „์—๋Š” ์ด๋Ÿฌํ•œ ๋„ˆ๋ฌด ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ฝ”๋“œ๋ฅผ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ์•ž์— _ ๋ฅผ ๋ถ™์ด๋Š” ๊ฒŒ ๊ด€๋ก€์˜€๋‹ค๊ณ  ํ•œ๋‹ค.์š”์ฆ˜์—๋Š” @Ignore ์†์„ฑ์— ๋ฌธ์ž์—ด๋กœ ๋„ฃ์–ด์ค€๋‹ค๊ณ  ํ•œ๋‹ค.ex:  @Ignore("์‹คํ–‰์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.")(Junit์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ Mavenํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•จ)TODO / FIXME ์ฃผ์„ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๋ณด๋ฉด..์•„์ง ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ•  ์ง€ ์ •ํ•ด์ง€์ง€ ์•Š์€ ๋ถ€๋ถ„๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.์ด๋Ÿฐ ๊ฒฝ์šฐ์— TODO์ฃผ์„์„ ๋‹ฌ์•„ ๋‘ก๋‹ˆ๋‹ค.๋”ฐ๋ผ์„œ TODO /  FIXME ์ฃผ์„์€ ๊ผญ ํ•„์š”ํ•˜๊ณ  ํ™•์ธํ•ด์•ผํ•  ์ฃผ์„์ž…๋‹ˆ๋‹ค.์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๋Š” ์ฃผ์„

๐Ÿ“œ CleanCode 2024.09.20

[CleanCode]์ฃผ์„-์ด๋ž€

๋“ค์–ด๊ฐ€๊ธฐ ์ „์—์ž๋™ ์ฃผ์„ ํ˜ธ์ถœ๋ฉ”์„œ๋“œ ์œ„์— /** ๋ฅผ ์ ์€ ๋’ค Enter๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ž๋™ ์ฃผ์„์ด ์ ํ˜€์ง‘๋‹ˆ๋‹ค.์ฃผ์„์€ ํ•„์š”์•…์ด๋‹ค์ฃผ์„์„ ์œ ์ง€ํ•˜๊ณ  ๋ณด์ˆ˜ํ•˜๊ธฐ๋Š” ํ˜„์‹ค์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅ์ด๋ผ์ฃผ์„์€ ์˜ค๋ž˜๋  ์ˆ˜๋ก ์ฝ”๋“œ์—์„œ ๋ฉ€์–ด์ง„๋‹ค.๋ถ€์ •ํ™•ํ•œ ์ฃผ์„์€ ์•„์˜ˆ ์—†๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚˜์˜๋‹ค.์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜๋ผ์ดˆ๋ณด์ž๊ฐ€ ๋ณด์•˜์„ ๊ฒฝ์šฐ์—๋Š” ๊ณ ์ž‘ ์ € ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๋ ค๊ณ  ๋ฉ”์„œ๋“œ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š๋ƒ ์ƒ๊ฐ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒํ›„์— ํ˜œํƒ์„ ๋ฐ›์„ ์กฐ๊ฑด์ด ๋ณ€๊ฒฝ๋  ๊ฒƒ์„ ์ƒ๊ฐํ•˜๋ฉด ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์œ„ํ•ด ๋”ฐ๋กœ ๋ฉ”์„œ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒŒ ์ข‹๋‹ค.๋˜ํ•œ ๊ตณ์ด ์•Œ ํ•„์š” ์—†๋Š” ์กฐ๊ฑด์„ ๋ณด๊ธฐ ์œ„ํ•ด ๋” ๊ธด ์ฃผ์„์„ ์ฝ์„ ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค.์˜๋„๋ฅผ ์ •ํ™•ํ•˜๊ณ  ๊น”๋”ํ•˜๊ฒŒ ํ‘œํ˜„ํ•œ ์ฝ”๋“œ๊ฐ€, ๋ณต์žกํ•˜๊ณ  ์ฃผ์„์ด ๋งŽ์ด ๋‹ฌ๋ฆฐ ์ฝ”๋“œ๋ณด๋‹ค ํ›จ์”ฌ ์ข‹๋‹ค.

๐Ÿ“œ CleanCode 2024.09.18

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

๋ถ€์ˆ˜ํšจ๊ณผ๋ฅผ ์ผ์œผํ‚ค์ง€ ๋งˆ๋ผ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋งž๊ฒŒ ์ž…๋ ฅ๋˜์—ˆ๋Š” ์ง€ ํ™•์ธ๋งŒ ํ•˜๋Š” ํ•จ์ˆ˜์˜€๋Š”๋ฐํ‹€๋ฆด ์‹œ Session์„ ๋‚ ๋ ค๋ฒ„๋ฆฌ๋Š” ์‹์˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค.๋ช…๋ น๊ณผ ์กฐํšŒ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ผ๋ณด๋ฉด ๋‘๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ๋กœ๊ทธ์ธํ™•์ธ (์กฐํšŒ)๊ฐ’ ์ €์žฅ (๋ช…๋ น)์ด๋Ÿฐ ๋‚˜๋ˆ ์•ผ ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค.์˜ค๋ฅ˜ ์ฝ”๋“œ ๋ณด๋‹ค๋Š”์˜ˆ์™ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ์—๋Ÿฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—๋งŒ์•ฝ ๋กœ๊ทธ์ธ ์‹คํŒจ ์‹œ ์—๋Ÿฌ๋ฅผ ๊ทธ ๋•Œ ๊ทธ ๋•Œ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.์ด๋Ÿฐ ๊ฒฝ์šฐ ๋ณดํ†ต try/catch๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๊ทธ ์ „์—→ if/else๋กœ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. ๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ ์˜ค๋ฅ˜๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ง€ ์•Œ์•„๋ณด์ž.try/catch๋ธ”๋ก์„ ๋ฝ‘์•„๋‚ด์„œ์˜ˆ์™ธ๋„ ํ•˜๋‚˜์˜ ์ž‘์—…์œผ๋กœ์˜ค๋ฅ˜๋„ ํ•œ๊ฐ€์ง€ ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์—์˜ค์ง ์˜ค๋ฅ˜๋งŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.๊ตฌ์กฐ์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ํ•จ์ˆ˜๊ฐ€ ํด์ˆ˜๋ก Single entry-exit rule ์ ์šฉ..

๐Ÿ“œ CleanCode 2024.09.16