์ฝ๋ ๊ณต๋ ์์
๋ง์ฝ ๋๊ตฐ๊ฐ๊ฐ ํด๋์ค์ ์ธํฐํ์ด์ค๋ฅผ ๋ณ๊ฒฝํ์ผ๋ฉด ๋ณ๊ฒฝ๋ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ ์ฝ๋์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ฒ๋๋ฉด ํด๋์ค๋ฅผ ๋ณ๊ฒฝํ ์ฌ๋์ด ๋ชจ๋ ์ค๋ฅ๋ฅผ ์์ ํด์ผ๋ง ํ๋๊ฐ, ์๋๋ฉด ๋จผ์ (์ปดํ์ผ ์๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊บผ ๊ฐ์๋ฐ) ๋ฐ๊ฒฌํ ์ฌ๋์ด ์์ ํด์ผ ํ๋๊ฐ?
์ฝ๋ ์ปค๋ฐ๋ ์ํ์์ ํ๋๋ผ๋ ํ
์คํธ ์คํจ๊ฐ ์๋ค๋ฉด ๋กค๋ฐฑํ๊ฑฐ๋, ์์ ํ๋ค. ๊ณ ๋ก, ํด๋์ค๋ฅผ ๋ณ๊ฒฝํ ์ฌ๋์ด ๋ชจ๋ ์ค๋ฅ๋ฅผ ์์ ํด์ผ ํ๋ค. ๋ง์ฝ ์ดํ์ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๊ฒ ๋๋ค๋ฉด ๋๊ตฌ๋ ์ง ์์ ํ ์ ์๊ณ , ๋ ๊ทธ๋์ผ ํ๋ค.
ํนํ ์ด๋ฏธ ๋ง์ด ์ฝ๋๊ฐ ์์ฑ๋ ์์ ์์ ํด๋์ค์ ์ธํฐํ์ด์ค๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋๋ฌด ๋ง์ ์ฝ๋๋ฅผ ๋ฐ๊ฟ์ผํ๊ธฐ ๋๋ฌธ์ ๊ฑฑ์ (๊ท์ฐฎ์?)์ด ์์ค ์ ์๋ค.

~cpp formatText(String data)
์ ~cpp formatText(String data,boolean shouldBeVeryFancy)
๋ก ๋ฐ๊พธ์ด์ผ ํ๋ค๋ฉด, ~cpp fancibleFormatText
๋ฅผ ๋ง๋ค๊ณ , ๊ธฐ์กด์ ~cpp formatText
๋ฅผ ํธ์ถํ๋ ๊ณณ์ ~cpp fancibleFormatText(data,false)
๋ก ํ๋์ฉ ๋ฐ๊ฟ๋๊ฐ๋ฉด์ ๊ณ์ ํ
์คํธ๋ฅผ ๋๋ ค๋ณด๋ฉด ๋๋ค. ์ด๊ฒ ์์ ํ ๋ค ๋์๋ค๊ณ ์๊ฐ์ด ๋ค๋ฉด ~cpp formatText
์ ์๋ฅผ ์ง์๋ณธ๋ค. ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ~cpp fancibleFormatText
๋ฅผ ~cpp formatText
๋ก rename method ๋ฆฌํฉํ ๋ง์ ํด์ค๋ค. ํ์ง๋ง ๋ง์ฝ ์ด ์์
์ด ๋๋ฌด ๋จ์ ๋ฐ๋ณต์ ์ธ ๊ฒฝ์ฐ์, ์ถฉ๋ถํ ์ฉ๊ธฐ๊ฐ ์๊ธฐ๊ณ , ๋ ํ์ ์ด ๋ค๋ฉด ์ด ์์
์ ์๋ํํ ์ ์๋ค(OAOO). ์์ปจ๋ IDE์์ ์ง์ํ๋ ์๋ ๋ฆฌํฉํ ๋ง์ ์ฌ์ฉํ๊ฑฐ๋, ์ ๊ท์์ ํตํ ๋ฐ๊พธ๊ธฐ(replace) ๊ธฐ๋ฅ์ ์ฐ๊ฑฐ๋, ํด๋น ์ธ์ด ํ์๋ฅผ ์ด์ฉํ๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํด์ ์ฐ๋ ๋ฐฉ๋ฒ ๋ฑ์ด ์๋ค. ์ด๋ ๊ฒ ํฐ ๊ฑธ์์ ๋๋๋ ๊ฒฝ์ฐ์๋ ์๋ํ ํ
์คํธ๊ฐ ํ์์ ์ด๋ค.๊ทธ๋ฐ๋ฐ ๋ง์ฝ ํ
์คํธ ์ฃผ๋์ ๊ฐ๋ฐ์ ์ ๋๋ก ๋ชปํ๊ณ /์ํ๊ณ ์๋ค๋ฉด?
์ผ๋จ ๋ฆฌํฉํ ๋ง์ ํ์๋ก ํ๋ ๋ถ๋ถ์ ํ์ ํ๊ณ , ๊ทธ ์ฃผ์์ ํ
์คํธ ํ๋ก๊ทธ๋จ์ ์กฐ๊ธ์ฉ ๋ถ์ฌ ๋๊ฐ์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฆฌํฉํ ๋ง์ ํ๋ค. ๊ฐํน ์ปดํ์ผ๋ฌ๋ฅผ ํ
์คํธ ํ๋ก๊ทธ๋จ์ผ๋ก ์ฌ๊ธฐ๋ ์ฝ๊ฐ์ ์ํํ ๋ฐฉ๋ฒ๋ ์๋ค. see also
RefactoringLegacyCode
