E D R , A S I H C RSS

How To Study Refactoring

Refactoring„ ํ˜€ ™ช…˜ …„ ณต€ํ•˜Š” ฒ•


OOP ํ•˜“  •ˆํ•˜“  ํ”„กœทธž˜ฐดž€ —…„ ํ•˜Š” ‚ฌžŒดฉด ด …€ ž‹ ˜ ณต ฅ„ „œ„ˆ ‹จ„  ˆฒจ—…‹œœ „ ˆ˜ žˆ‹ค. žงˆตฌ ˆํ•œ ธฐˆ „ ตํžˆŠ” ฒƒด •„‹ˆณ  ธฐฐ ‚ดณต„ ฆฐ•ํ•˜Š” ฒƒด‹ค. ํ˜žŠ” DesignPatterns ด „— Refactoring„ ด• ํ•œ‹คณ „ ํ•œ‹ค. ด งด –ดŠ  •„ ฆฌ€ žˆŠ” ฒƒด, ํšจ ธ ํ•™Šต€ ฌธ œ ˜‹ด „ ํ–‰˜–ด• ํ•˜ธฐ •Œฌธด‹ค. DesignPatternsŠ” ‹œ  ฐจ›—„œ ํ•ดฒฐ•ˆ“ค„ ชจ•„†“€ ฒƒด‹ค. Refactoring„ ณดณ  ‚˜œ ƒ„ƒˆ(Bad Smell) งก„ ˆ˜ žˆŠ” ํ›„ฐ„ ฐœ‹ฌ‹œœ• ํ•œ‹ค. Refactoring˜ ชฉก„ ชจ‘ ™ธšฐŠ” ฒƒ€ ํฐ ˜€ —†‹ค. ทธฒƒณด‹ค ƒ„ƒˆ‚˜Š” ฝ”“œ Š‚„ ˆ˜ žˆŠ” ฐˆ˜„„ ํ‚คšฐŠ” ฒƒด ” ค‘š”ํ•˜‹ค. ณธธ€ — ํ•œ €€”ฉ ‚˜œ ƒ„ƒˆ  •ํ•ด†“ณ  ทธ ธฐ„ ™•ˆ—Š” ž‹ ด  ‘ํ•˜Š” ชจ“  ฝ”“œ—„œ ทธ ƒ„ƒˆงŒด„ ํ™•‹คํžˆ งก„ก ง‘ค‘ํ•˜Š” ฐฉฒ•„ ถŒํ•œ‹ค. ช… ทจง‘ค‘ํ›„ฐฒ•. ํŒจํ„ฐœ…„ งŒ“  ถ•€ ํฌฆฌŠคํ† ํ •Œ ‰‚ฐ”‚˜ GoF˜ ž„ํ”„ กดŠจ€ ข‹€ ””žธดž€ ‚˜œ ฒƒด —†Š” ƒํƒœณ  ํ•œ‹ค. ฌดƒ‰ ฌดฌดทจ˜ ็„ก็ˆฒ  ่‡ช็„ฝ”“œ€ ˜Š” ทธ‚ „ œ„ํ•ด ˜คŠ˜„ šฐฆฌŠ” ฆฌํŒฉํ† งดŠ” ๆœ‰็ˆฒ ตํžŒ‹ค. -- €ฐฝ€, งˆดํฌกœ†Œํ”„ํŠธ›จ–ด 2001…„ 11›”ํ˜ธ

ธฐํ•™œกœ šฐฆฌ ‚ฌƒ‚ฌ— ํฐ ํš„ ทธ€ ฒ ํ•™žš”, "„œšธ„œ …งŒ ‚ฌ‹ค งํ•œ ‚ฌžŒ"œกœ ด„„ ‚ ฆด  •„กœ —„ฒญ‚œ €‹š•„ ‹œํ•˜˜ ‚ฌƒ€ ํ˜œฐ• ตœํ•œธฐŠ” ทธ˜  €ˆ  <็ฅžๆฐฃ้€š>—„œ ˆˆ— ํ†ตํ•˜Š” ฒ•(็›ฎ้€š), €— ํ†ตํ•˜Š” ฒ•(่€ณ้€š), ฝ”— ํ†ตํ•˜Š” ฒ•(้ป้€š) “„ ด•ธฐํ•˜ณ  žˆ‹ค. –ด–ปฒŒ ํ•˜ฉด šฐฆฌŠ” ฝ”— „ํ†ตํ•  ˆ˜ žˆ„Œ? ฆฌํŒฉํ† ง„ ณต€ํ•˜‚˜ ํ˜€ ํ–ˆ˜ ‚ฌžŒ“ค—ฒŒ งŽ€ ˜ฐ ฉ”ํƒ€ํฌ Š” …ด‹ค. …„ ถŒํ•œ‹ค. --€ฐฝ€

ˆ˜ จฒ•
  • ทจง‘ค‘ํ›„ฐฒ•
  • Minimize Comments : ฝ”“œ˜ €…„„ –จ–ดœจฆฌ€ •Š‚˜ ํ˜€ ˜คํžˆ ค ˜ฌฆฌฉด„œ „„ ตœ†Œํ™”ํ•˜„ก …ธ ฅํ•œ‹ค. ด ‡ฒŒ ํ•˜ฉด, ž™œกœ ฆฌํŒฉํ† งด ด„€Š” ฒฝšฐ€ งŽ‹ค.
  • Follow OAOO : OAOO ฒ•™„ €Šฅํ•˜ฉด ตœŒ€ํ•œ ”ฐฅด คณ  ํ•œ‹ค. ฆฌํŒฉํ† ง žฐœณตด ํ„„‹ค.
  • Follow LawOfDemeter : ””ธํ„ฒ•™„ €Šฅํ•˜ฉด €ํ‚ค คณ  ํ•œ‹ค. –ด–ค ฆฌํŒฉํ† งด  € ˆกœ ด„€‚˜ ํ•„š” —†–ด€Š”€?
  • Pair Refactoring : ํ•จป˜ ฆฌํŒฉํ† งํ•œ‹ค. ํ˜ž ํ•˜Š” ฒƒ ณด‹ค ํ›จ”ฌ ฆฌ ํ›จ”ฌ ” งŽ€ ฒƒ„ ฐฐšธ ˆ˜ žˆ‹ค. ํŠํžˆ, ฐž ž‘„ํ–ˆ˜ ฝ”“œ ํ•จป˜ ฆฌํŒฉํ† งํ•˜ณ ,  œ‚ž˜ ฝ”“œ ˜ ํ•จป˜ ฆฌํŒฉํ† งํ•ด ณด. ‚ฌžŒด งŽ‹คฉด ‹คฅธ ํŽ˜–ด€ ฆฌํŒฉํ† งํ•œ ฒƒ „œกœ „ตํ•˜ณ  ํ† ก ํ•ดณด.
  • Separate The What From The How : "–ด–ปฒŒ"™€ "ฌด—‡„"„ „ฆฌํ•˜„ก ํ•˜. –ด–ค ฆฌํŒฉํ† งด ฐฝฐœํ•˜Š”€?


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:26
Processing time 0.0200 sec