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.0142 sec