๊ฐœ๋ฐœ๋„์„œ

    [๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] ๋ฆฌํŒฉํ„ฐ๋ง ์นดํƒˆ๋กœ๊ทธ ๋ณด๋Š” ๋ฒ•(ch5)

    ch5 ๋ฆฌํŒฉํ„ฐ๋ง ์นดํƒˆ๋กœ๊ทธ ๋ณด๋Š” ๋ฒ•๋ฆฌํŒฉํ„ฐ๋ง ํ˜•์‹- ์ด๋ฆ„ : ์ด๋ฆ„์€ ๋ฆฌํŒฉํ„ฐ๋ง ์šฉ์–ด๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•˜๋‹ค. - ๊ฐœ์š” : ๋ฆฌํŒฉํ† ๋ง์˜ ํ•ต์‹ฌ ๊ฐœ๋… -> ์›ํ•˜๋Š” ๋ฆฌํŒฉํ„ฐ๋ง์„ ์ฐพ์„ ๋•Œ ๋„์›€ ๋  ๊ฒƒ์ด๋‹ค.- ๋ฐฐ๊ฒฝ : ๋ฆฌํŒฉํ„ฐ๋ง ๊ธฐ๋ฒ•์ด ์™œ ํ•„์š”ํ•œ์ง€, ๊ทธ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ƒํ™ฉ์„ ์„ค๋ช…- ์ ˆ์ฐจ : ๋ฆฌํŒฉํ„ฐ๋งํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ๊ณผ์ •- ์˜ˆ์‹œ : ํ•ด๋‹น ๋ฆฌํŒฉํ„ฐ๋ง ๊ธฐ๋ฒ•์„ ์‹ค์ œ๋กœ ์ ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์™€ ํšจ๊ณผ

    [๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch4)

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

    [ํ•จ๊ป˜์ž๋ผ๊ธฐ] action point

    ํ•จ๊ป˜ ์ž๋ผ๊ธฐ ์• ์ž์ผ๋กœ ๊ฐ€๋Š” ๊ธธ(๊น€์ฐฝ์ค€)1. ์ž๋ผ๊ธฐ๋ฉ˜ํ†  ํ˜น์€ ์‚ฌ์ˆ˜๊ฐ€ ์„œ๋กœ ์ƒ๋ฐ˜๋œ ์˜๊ฒฌ์„ ์ค€๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ์ƒ๋ฐ˜๋œ ์˜๊ฒฌ๊ณผ ์ •๋ณด ์†์—์„œ ์Šค์Šค๋กœ ์ƒ๊ฐํ•˜๋Š” ํ›ˆ๋ จ์„ ํ•ด์•ผ ํ•œ๋‹ค.1๋งŒ ์‹œ๊ฐ„์˜ ๋ฒ•์น™์—์„œ 1๋งŒ ์‹œ๊ฐ„์€ ‘์ž์‹ ์˜ ๊ธฐ๋Ÿ‰์„ ํ–ฅ์ƒ์‹œํ‚ฌ ๋ชฉ์ ์œผ๋กœ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ•˜๋Š” ์ˆ˜๋ จ’์„ ํ•œ ์‹œ๊ฐ„์ด๋‹ค.์• ์ž์ผ ์ฒ ํ•™์„ ํ™œ์šฉํ•˜์—ฌ ์ผํ•˜๋Š” ๋„์ค‘์—๋„ ์˜๋„์  ์ˆ˜๋ จ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.์ž๊ธฐ๊ฐ€ ์Šต๋“ํ•œ ์ง€์‹์ด๋‚˜ ๋Šฅ๋ ฅ์€ ๋ณต๋ฆฌ๋กœ ์ด์ž๊ฐ€ ๋ถ™๋Š”๋‹ค -> ์ž๊ธฐ๊ณ„๋ฐœ์ด ์ค‘์š”ํ•˜๋‹ค.์–ด๋–ป๊ฒŒํ•˜๋ฉด ๋”ํ•˜๊ธฐ๋ณด๋‹ค ๊ณฑํ•˜๊ธฐ๋ฅผ ๋” ๋งŽ์ด ํ•  ์ˆ˜ ์žˆ์„๊นŒ?(๊ฐ€์šฉ์‹œ๊ฐ„์„ ๋Š˜๋ฆฌ๊ณ  ์“ธ๋ฐ์—†์ด ๋‚ญ๋น„๋˜๋Š” ์‹œ๊ฐ„์„ ์ค„์ด๊ณ , ์ž ์ž๋Š” ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๊ฒƒ์€ ๋”ํ•˜๊ธฐ์  ์‚ฌ๊ณ ์ด๋ฉฐ, ์ง‘๋‹จ์˜ ์ง€๋Šฅ์„ ๋†’์ด๋Š” ๊ฒƒ์ด ๊ณฑํ•˜๊ธฐ์  ์‚ฌ๊ณ ์ด๋‹ค) (39-40p)1. ์ž์‹ ์ด ์ด๋ฏธ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ๋“ค์„ ์ž˜ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์œ ์ž…์‹œํ‚ค๋Š” ๋ฐ์—๋งŒ ์ง‘..

    [๋ฆฌํŒฉํ† ๋ง 2ํŒ] action point(ch3)

    Ch3. ์ฝ”๋“œ์—์„œ ๋‚˜๋Š” ์•…์ทจ๋ฆฌํŒฉํ„ฐ๋ง์ด ํ•„์š”ํ•œ, ๋•Œ๋กœ๋Š” ์•„์ฃผ ์ ˆ์‹คํ•œ ์ฝ”๋“œ๋“ค์— ์ผ์ •ํ•œ ํŒจํ„ด์ด ์žˆ๋‹ค1. ๊ธฐ์ดํ•œ ์ด๋ฆ„(Mysterious Name)- ๋งˆ๋•…ํ•œ ์ด๋ฆ„์ด ๋– ์˜ค๋ฅด์ง€ ์•Š์œผ๋ฉด ์„ค๊ณ„์— ๋” ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์ˆจ์–ด์žˆ์„ ์ˆ˜ ์žˆ๋‹ค2. ์ค‘๋ณต ์ฝ”๋“œ(Duplicated Code)3. ๊ธด ํ•จ์ˆ˜(Long Function)- ๊ฐ„์ ‘ ํ˜ธ์ถœ์˜ ํšจ๊ณผ, ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๊ณต์œ ํ•˜๊ณ , ์„ ํƒํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค๋Š” ์žฅ์ ์€ ํ•จ์ˆ˜๋ฅผ ์งง๊ฒŒ ๊ตฌ์„ฑํ•  ๋•Œ ๋‚˜์˜จ๋‹ค- ์ฃผ์„์„ ๋‹ฌ์•„์•ผ ํ•  ๋งŒํ•œ ๋ถ€๋ถ„์€ ๋ฌด์กฐ๊ฑด ํ•จ์ˆ˜๋กœ ๋งŒ๋“ ๋‹ค. ํ•จ์ˆ˜ ์ด๋ฆ„์€ ๋™์ž‘ ๋ฐฉ์‹์ด ์•„๋‹Œ ์˜๋„๊ฐ€ ๋“œ๋Ÿฌ๋‚˜๊ฒŒ ์ง“๋Š”๋‹ค- ์กฐ๊ฑด๋ฌธ์ด๋‚˜ ๋ฐ˜๋ณต๋ฌธ๋„ ์ถ”์ถœ ๋Œ€์ƒ์˜ ์‹ค๋งˆ๋ฆฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค4. ๊ธด ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ชฉ๋ก(Long Parameter List)5. ์ „์—ญ ๋ฐ์ดํ„ฐ(Global Data)- ์ „์—ญ ๋ฐ์ดํ„ฐ๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค ์–ด๋””์—์„œ๋“  ๊ฑด๋“œ๋ฆด..

    [๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch2)

    ๋ฆฌํŒฉํ„ฐ๋ง ์ •์˜๋ช…์‚ฌ : ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒ‰๋ณด๊ธฐ ๋™์ž‘์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฑ„, ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ˆ˜์ •ํ•˜๊ธฐ ์‰ฝ๋„๋ก ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋ฒ•๋™์‚ฌ : ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฒ‰๋ณด๊ธฐ ๋™์ž‘์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ฑ„, ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฆฌํŒฉํ„ฐ๋ง ๊ธฐ๋ฒ•์„ ์ ์šฉํ•ด์„œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜๋‹ค.1. ๋ฆฌํŒฉํ„ฐ๋ง ํ•˜๋Š” ๋™์•ˆ์—๋Š” ์ฝ”๋“œ๊ฐ€ ํ•ญ์ƒ ์ •์ƒ ์ž‘๋™ํ•ด์•ผํ•œ๋‹ค -> ์ „์ฒด ์ž‘์—…์ด ๋๋‚˜์ง€ ์•Š์•˜๋”๋ผ๋„ ์–ธ์ œ๋“  ๋ฉˆ์ถœ ์ˆ˜ ์žˆ๋‹ค์ด ๋ถ€๋ถ„์„ ์ž˜ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ฆฌํŒฉํ„ฐ๋ง ๋‹จ๊ณ„๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐœ๊ณ  ํ•ญ์ƒ ์ •์ƒ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋งค๋ฒˆ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ง๊ณผ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. Ch1์—์„œ๋„ ๊ฐ•์กฐํ•œ ๋ถ€๋ถ„์ด์ง€๋งŒ ๊ทธ๋ž˜์„œ ์ž˜์งœ์—ฌ์ง„ ํ…Œ์ŠคํŠธ๊ฐ€ ๋Œ€๋‹จํžˆ ์ค‘์š”ํ•˜๋‹ค.2. ๊ธฐ๋Šฅ ์ถ”๊ฐ€, ๋ฆฌํŒฉํ„ฐ๋ง๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž์ฃผ ๋ฒˆ๊ฐˆ์•„ ์ž‘์—…ํ•˜๋”๋ผ๋„ ๋‘ ๊ฐœ์˜ ๋ชจ์ž ์ค‘ ํ•˜๋‚˜์˜ ๋ชจ์ž๋ฅผ ์จ์•ผ ํ•œ๋‹ค. ํ•ญ์ƒ ๋‚ด๊ฐ€ ์“ฐ๊ณ  ์žˆ๋Š” ๋ชจ..

    [๋ฆฌํŒฉํ„ฐ๋ง 2ํŒ] action point(ch1)

    ์กฐ๊ธˆ ๋ณ€๊ฒฝํ•œ refactoring์ด๋”๋ผ๋„ ๋งค๋ฒˆ ํ…Œ์ŠคํŠธ ํ•  ๊ฒƒ์ž์ฃผํ•˜๋Š” ์‹ค์ˆ˜์ด๋‹ค. ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•  ๋•Œ, ๊ธฐ์กด์— ์ž‘์„ฑํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ๋ชปํ•ด์„œ ์ฝ”๋“œ์˜ ์˜ค๋ฅ˜๋ฅผ ๋‚˜์ค‘์— ๋ฐœ๊ฒฌํ•  ๋•Œ๊ฐ€ ๋งŽ์•„ ๋””๋ฒ„๊น…์ด ์–ด๋ ค์› ๋‹ค. ์ž‘์€ ๋ณ€๊ฒฝ์ด๋”๋ผ๋„ ๋งค๋ฒˆ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ์Šต๊ด€ํ™” ํ•ด์•ผ๊ฒ ๋‹ค.๋ฆฌํŒฉํ„ฐ๋ง์„ ํ†ตํ•œ ์„ฑ๋Šฅ๋ฌธ์ œ -> ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ผ๋‹จ ๋ฌด์‹œํ•˜๊ณ  ์ดํ›„ ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค๋ฉด, ๋ฆฌํŒฉํ„ฐ๋ง์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ์„ฑ๋Šฅ์„ ๊ฐœ์„ ๋ชจ๋“ˆํ™”๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ์ „์ฒด ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ ๊ฐ๊ฐ์ด ๋” ๋šœ๋ ท์ด ๋ถ€๊ฐ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ชจ๋“ˆํ™”๋ฅผ ํ•˜๋ฉด ๊ฐ ๋ถ€๋ถ„์ด ํ•˜๋Š” ์ผ๊ณผ ๊ทธ ๋ถ€๋ถ„๋“ค์ด ๋งž๋ฌผ๋ ค ๋Œ์•„๊ฐ€๋Š” ๊ณผ์ •์„ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค.'ํ•ญ์‹œ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ž‘์—…ํ•˜๊ธฐ ์ „๋ณด๋‹ค ๋” ๊ฑด๊ฐ•ํ•˜๊ฒŒ ๊ณ ์นœ๋‹ค.'์กฐ๊ฑด๋ถ€ ๋กœ์ง์„ ๋ช…ํ™•ํ•œ ๊ตฌ์กฐ๋กœ ๋ณด์™„ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ..