2์žฅ

๋ฆฌํŒฉํ† ๋ง(Refactoring)

  • ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ณ , ์ ์€ ๋น„์šฉ์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋™์ž‘์˜ ๋ณ€ํ™” ์—†์ด ๋‚ด๋ถ€ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ

๋ฆฌํŒฉํ† ๋ง ํ•˜๋‹ค(Refactor)

  • ์ผ๋ จ์˜ ๋ฆฌํŒฉํ† ๋ง์„ ์ ์šฉํ•˜์—ฌ ๊ฒ‰์œผ๋กœ ๋ณด์ด๋Š” ๋™์ž‘์˜ ๋ณ€ํ™” ์—†์ด ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊พธ๋‹ค.

์–ธ์ œ ๋ฆฌํŒฉํ† ๋ง์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฐ€?

  • ๋ณ„๋„์˜ ์‹œ๊ฐ„์„ ๋‚ด์„œ ํ•˜์ง€๋ง๊ณ  ํ‹ˆํ‹ˆ์ด ๊ณ„์†

  • ๋ฆฌํŒฉํ† ๋ง ์ž์ฒด๋ฅผ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์–ด๋–ค ๊ฒƒ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฆฌํŒฉํ† ๋ง์„ ํ•ด์•ผ ํ•œ๋‹ค

  • ์‚ผ์ง„ ๊ทœ์น™

์ฒ˜์Œ ํ•  ๋•Œ๋Š” ๊ทธ๋ƒฅ ํ•œ๋‹ค. ๋‘ ๋ฒˆ์งธ๋กœ ๋น„์Šทํ•œ ๊ฒƒ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์ค‘๋ณต๋˜๊ฒŒ ํ•œ๋‹ค. ์„ธ ๋ฒˆ์งธ๋กœ ๋น„์Šทํ•œ ๊ฒƒ์„ ํ•˜๊ฒŒ ๋˜๋ฉด, ๊ทธ ๋•Œ ๋ฆฌํŒฉํ† ๋ง ํ•œ๋‹ค.

  • ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ํ•  ๋•Œ

์ˆ˜์ •ํ•ด์•ผ ํ•  ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ์‰ฝ์ง€ ์•Š์€ ๋””์ž์ธ์ธ ๊ฒฝ์šฐ

  • ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋•Œ

๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋ฅผ ๋ฐ›์•˜์œผ๋ฉด ๊ทธ๊ฒƒ์€ ๋ฆฌํŒฉํ† ๋ง์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์‹ ํ˜ธ ์™œ๋ƒ๋ฉด ๋ฒ„๊ทธ๊ฐ€ ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ชฐ๋ž์„ ์ •๋„๋กœ ์ฝ”๋“œ๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์•˜๋‹ค๋Š” ๋œป์ด๊ธฐ ๋•Œ๋ฌธ

  • ์ฝ”๋“œ ๊ฒ€ํ† (code review)๋ฅผ ํ•  ๋•Œ

= Kent Beck =

  • ์ฝ๊ธฐ ์–ด๋ ค์šด ํ”„๋กœ๊ทธ๋žจ์€ ์ˆ˜์ •ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

  • ์ค‘๋ณต๋œ ๋กœ์ง์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ์ˆ˜์ •ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

  • ์‹คํ–‰์ค‘์ธ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ํŠน๋ณ„ํ•œ ๋™์ž‘์„ ์š”๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ์ˆ˜์ •ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

  • ๋ณต์žกํ•œ ์กฐ๊ฑด๋ฌธ์ด ํฌํ•จ๋œ ํ”„๋กœ๊ทธ๋žจ์€ ์ˆ˜์ •ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

๋ฆฌํŒฉํ† ๋ง์„ ํ•  ๋•Œ์˜ ๋ฌธ์ œ

  • DB

DB ์Šคํ‚ค๋งˆ๊ฐ€ application๊ณผ ๋ฐ€์ ‘ํ•œ ๊ด€๊ณ„์ด๊ธฐ ๋•Œ๋ฌธ

data migration์„ ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„๋„ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ณ  ์œ„ํ—˜๋„ ํฐ ์ž‘์—…

  • ์ธํ„ฐํŽ˜์ด์Šค ๋ณ€๊ฒฝ

๋ฆฌํŒฉํ† ๋ง์„ ํ•˜์ง€ ๋ง์•„์•ผ ํ•  ๋•Œ

  • ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•  ๋•Œ

  • ๋งˆ๊ฐ์ผ์— ๊ฐ€๊นŒ์šธ ๋•Œ

Last updated