เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบฎเบฝเบ™โ€‹เบชเบนเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹

เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ„เปเบฒเบ–เบฒเบก "เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”?" เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ•เบญเบšเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: " gymnastics เบชเปเบฒเบฅเบฑเบšเบˆเบดเบ”เปƒเบˆ." เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ™เบตเป‰เบšเปเปˆเบžเบฝเบ‡เบžเป. เป€เบกเบทเปˆเบญเบšเบธเบเบ„เบปเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบญเบญเบเบเปเบฒเบฅเบฑเบ‡เบเบฒเบ, เบฅเบฒเบงเบฎเบนเป‰เบŠเบทเปˆเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ‚เบญเบ‡เบเบธเปˆเบกเบเป‰เบฒเบกเบŠเบตเป‰เบ™เบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เปเบ•เปˆเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบเบฑเบ‡เบ„เบปเบ‡เบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™เป€เบเบตเบ™เป„เบ›. "เบเป‰เบฒเบกเบŠเบตเป‰เบ™เบˆเบดเบ”" เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เปเบ”เปˆเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเป‚เบ”เบ algebra เป‚เบฎเบ‡เบฎเบฝเบ™? เบกเบฑเบ™เบšเปเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, เป€เบŠเบดเปˆเบ‡เบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบšเบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆเปเบกเปˆเบ™เป€เบฎเบฑเบ”. เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบŠเบญเบโ€‹เบซเบฒโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ‚เบญเบ‡โ€‹เบšเบฒเบ‡โ€‹เบซเบ™เป‰เบฒโ€‹เบ—เบตเปˆ intricate เปƒเบซเป‰โ€‹เบซเบเบฑเบ‡?

เบเบฒเบ™เบชเบญเบ™เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปƒเบซเป‰เบเบฑเบšเบ™เบฑเบเบฎเบฝเบ™เบ—เบตเปˆเบญเปˆเบญเบ™เปเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบ‚เป‰เบญเบเป„เบ”เป‰เบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบเบงเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบ–เบฒเบก "เป€เบ›เบฑเบ™เบซเบเบฑเบ‡?" เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเบ–เปˆเบฒเบเบ—เบญเบ”เบกเบฑเบ™เปƒเบซเป‰เบ—เปˆเบฒเบ™.

เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบฎเบฝเบ™โ€‹เบชเบนเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹
เปƒเบ™เป‚เบฎเบ‡เบฎเบฝเบ™, เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเปเบกเปˆเบ™เบญเบธเบ—เบดเบ”เบ•เบปเบ™เป€เบžเบทเปˆเบญเบซเบฑเบ™เบ›เปˆเบฝเบ™เปเบฅเบฐเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ‡เปˆเบฒเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡: 81ร—2+126xy+49y2 เบ•เป‰เบญเบ‡เบ–เบทเบเปเบ›เบ‡เป€เบ›เบฑเบ™ (9x+7y)2.

เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, เบ™เบฑเบเบฎเบฝเบ™เบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบˆเบทเปˆเบชเบนเบ”เบชเปเบฒเบฅเบฑเบšเบชเบตเปˆเบซเบผเปˆเบฝเบกเบ‚เบญเบ‡เบœเบปเบ™เบšเบงเบ

เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบฎเบฝเบ™โ€‹เบชเบนเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ, เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบญเบทเปˆเบ™เป†. เบเบปเบโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡:

เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบฎเบฝเบ™โ€‹เบชเบนเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹

เบ–เบทเบเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”

เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบฎเบฝเบ™โ€‹เบชเบนเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹

เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ”เป‰เบงเบเบ„เบงเบฒเบกเบเบฐเบˆเปˆเบฒเบ‡เปเบˆเป‰เบ‡ (a + 2b) != 0, เบกเบฑเบ™เบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เปเบšเบšเบ™เบตเป‰

เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบงเปˆเบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบเบฑเบ‡โ€‹เบžเบดโ€‹เป€เบชเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบฎเบฝเบ™โ€‹เบชเบนเบ‡โ€‹เปเบกเปˆเบ™โ€‹เบˆเปเบฒโ€‹เป€เบ›เบฑเบ™โ€‹

เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ™เบตเป‰, เบ™เบฑเบเบฎเบฝเบ™เบ•เป‰เบญเบ‡เบฎเบฑเบšเบฎเบนเป‰เปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฒเบกเบชเบนเบ”:

  • เบชเบตเปˆเบซเบผเปˆเบฝเบกเบ‚เบญเบ‡เบœเบปเบ™เบฅเบงเบก
  • เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ‚เบญเบ‡เบชเบตเปˆเบซเบฅเปˆเบฝเบก
  • เบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ›เบฑเบ”เปƒเบˆเบ‚เบญเบ‡เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบปเปˆเบงเป„เบ›

เปƒเบ™เป‚เบฎเบ‡เบฎเบฝเบ™ algebra, เป€เบเบทเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบงเบฅเบฒเบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบŠเบฑเปˆเบ™เบ™เบตเป‰. เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ›เปˆเบฝเบ™เปเบ›เบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบ—เบตเปˆเบชเบนเบ‡เบ‚เบถเป‰เบ™เบขเบนเปˆเปƒเบ™เบกเบฐเบซเบฒเบงเบดเบ—เบฐเบเบฒเป„เบฅ. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ–เบทเบเบšเบญเบเบงเบดเบ—เบตเบเบฒเบ™เป€เบญเบปเบฒเบญเบฐเบ™เบธเบžเบฑเบ™ (เบ•เบปเบงเบ›เบฐเบเบญเบš, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เปเบฅเบฐเปƒเบซเป‰เบšเบฑเบ™เบซเบฒเบซเบผเบฒเบเป‚เบ•เบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบšเป? เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ - เปเบกเปˆเบ™เปเบฅเป‰เบง. เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบญเบญเบเบเปเบฒเบฅเบฑเบ‡เบเบฒเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰:

  1. เบ—เบฑเบโ€‹เบชเบฐโ€‹เบเบฒเบ™โ€‹เบซเบฑเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เบญเบญเบโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™ honed.
  2. เบเบฒเบ™เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ.
  3. เบญเบธเบ”เบปเบกเบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™ - เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ laconic เบ—เบตเปˆเบ„เบปเบ™เบชเบฒเบกเบฒเบ”เบžเบฐเบเบฒเบเบฒเบก.

เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบกเบตเบˆเบฑเบ™เบเบฒเบšเบฑเบ™, เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเปเบฅเบฐเบ—เบฑเบเบชเบฐเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ›เบฐเบˆเปเบฒเบงเบฑเบ™เบ‚เบญเบ‡เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ‡เปˆเบฒเบเบ”เบฒเบเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบกเบฑเบ™เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ—เบตเปˆเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบ„เบงเบฒเบกเบซเบกเบฒเบ. เบญเบฑเบ™เบ™เบตเป‰เป€เบ•เบทเบญเบ™เป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบซเบเบฑเบ‡เบšเป?

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡ refactoring เบˆเบฒเบเบซเบ™เบฑเบ‡เบชเบทเบ‚เบญเบ‡เบŠเบทเปˆเบ”เบฝเบงเบเบฑเบ™เป‚เบ”เบ Martin Fowler.

เปƒเบ™โ€‹เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹, เบœเบนเป‰โ€‹เบ‚เบฝเบ™โ€‹เป„เบ”เป‰โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เปƒเบซเป‰โ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

Refactoring (n): เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบŠเบญเบšเปเบงเบ—เบตเปˆเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบฅเบฐเบ”เบฑเบ”เปเบ›เบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™.

Refactor (verb): เบ›เปˆเบฝเบ™เปเบ›เบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบŠเบญเบšเปเบงเป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบŠเบธเบ”เบ‚เบญเบ‡ refactoring เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบกเบฑเบ™.

เบ›เบถเป‰เบกเปƒเบซเป‰ "เบชเบนเบ”" เบ—เบตเปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบฎเบฑเบšเบฎเบนเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เปเบฅเบฐเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เบžเบงเบเบกเบฑเบ™.

เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเปƒเบซเป‰ "เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ‚เบญเบ‡เบ•เบปเบงเปเบ›เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ" เบˆเบฒเบเบซเบ™เบฑเบ‡เบชเบท:

if ( (platform.toUpperCase().indexOf(โ€œMACโ€) > -1 ) &&
    (browser.toUpperCase().indexOf(โ€œIEโ€) > -1 )&&
    wasInitialized() && resize > 0 ) {
    // do something
}

เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ•เป‰เบญเบ‡เบ–เบทเบเบ‚เบฝเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบปเบงเปเบ›เบ—เบตเปˆเบŠเบทเปˆเบญเบฐเบ—เบดเบšเบฒเบเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบกเบฑเบ™.

final boolean isMacOS = platform.toUpperCase().indexOf(โ€œMACโ€) > -1;
final boolean isIEBrowser = browser.toUpperCase().indexOf(โ€œIEโ€) > -1;
final boolean isResized = resize > 0;
if(isMacOS && isIEBrowser && wasInitialized() && isResized) {
   // do something
}

เบˆเบดเบ™เบ•เบฐเบ™เบฒเบเบฒเบ™เบ„เบปเบ™เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบฒเบ‡เบžเบถเบ”เบŠเบฐเบ„เบฐเบ™เบดเบ”เปเบšเบšเบ‡เปˆเบฒเบเป†เป‚เบ”เบเปƒเบŠเป‰เบœเบปเบ™เบฅเบงเบกเบเบณเบฅเบฑเบ‡เบชเบญเบ‡ เปเบฅเบฐเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ‚เบญเบ‡เบชเบนเบ”เบเบณเบฅเบฑเบ‡เบชเบญเบ‡.

เบ—เปˆเบฒเบ™เบ„เบดเบ”เบงเปˆเบฒเบšเบธเบเบ„เบปเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ” refactor เบฅเบฐเบซเบฑเบ”?

เบฅเบฒเบงเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ„เบปเบ™เบญเบทเปˆเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบšเปเบ–เป‰เบฒเบฅเบฒเบงเบšเปเปˆเป„เบ”เป‰เบชเป‰เบฒเบ‡เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ‚เบญเบ‡เบ„เบงเบฒเบกเบซเบเปเป‰เป†เบ™เบตเป‰? เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบšเปเปˆ.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ—เบธเบเบ„เบปเบ™เป„เบ›เป‚เบฎเบ‡เบฎเบฝเบ™, เปเบฅเบฐเบŠเบปเบ™เป€เบœเบปเปˆเบฒเบชเปˆเบงเบ™เบ™เป‰เบญเบเบเบฒเบเป€เบ›เบฑเบ™เบ™เบฑเบเบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก. เบ—เบฑเบเบชเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบ—เบปเปˆเบงเป„เบ›เบšเป? เบ‚เป‰เบญเบโ€‹เบ„เบดเบ”โ€‹เบงเปˆเบฒโ€‹เปเบกเปˆเบ™. เบžเบฝเบ‡เปเบ•เปˆเบ—เบฑเบเบชเบฐเบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™เบซเบผเบฒเบ: เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ›เบฐเป€เบกเบตเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปเบฅเบฐเป€เบฅเบทเบญเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบทเปˆเบกเบญเบตเบเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบเป‰เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เปƒเบ™ pedagogy เบ›เบฐเบเบปเบ”เบเบฒเบ™เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ เป‚เบญเบ™ (เบ—เบฑเบเบชเบฐ).

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเป‰เบญเบกเปเบ›เบ‡เป€เบฎเบทเบญเบ™เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ improvised, เบงเบดเบ—เบตเบเบฒเบ™ "เบเบฐเบชเบดเบเปเบฒเบฅเบงเบก". เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, " tricks " เบ”เบฝเบงเบเบฑเบ™เปเบฅเบฐ hacks เบŠเบตเบงเบดเบ”เบ›เบฐเบเบปเบ”เบงเปˆเบฒ, เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เปเบกเปˆเบ™ depicted เปƒเบ™ KPDV. เบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบกเบตเบชเบดเป‰เบ™เบ‚เบญเบ‡เป„เบกเป‰, เบชเบฒเบเปเบฅเบฐเบชเบตเปˆ screws. เป‚เบ”เบเบˆเบทเปˆเบˆเปเบฒเบฎเบนเบšเปเบšเบšเป€เบ•เบปเป‰เบฒเบชเบฝเบšเป‚เบ„เบกเป„เบŸ, เบฅเบฒเบงเป„เบ”เป‰เบ›เบฐเบเบญเบšเป€เบ•เบปเป‰เบฒเบชเบฝเบšเป‚เบ„เบกเป„เบŸเบ—เบตเปˆเป€เบฎเบฑเบ”เบ”เป‰เบงเบเป€เบฎเบทเบญเบ™เบˆเบฒเบเบžเบงเบเบกเบฑเบ™.

เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เป€เบงเบฅเบฒเบ‚เบฑเบšเบ‚เบตเปˆเบเบฒเบ™เบžเบฒเบซเบฐเบ™เบฐ, เบ„เบปเบ™เบ‚เบฑเบšเบฅเบปเบ”เปเบกเปˆเบ™เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปƒเบ™เบเบฒเบ™เบฎเบฑเบšเบฎเบนเป‰เบฎเบนเบšเปเบšเบšเบ•เปˆเบฒเบ‡เป†เปƒเบ™เป‚เบฅเบเบญเป‰เบญเบกเบ•เบปเบงเบฅเบฒเบงเปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ maneuvers เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเป€เบžเบทเปˆเบญเป„เบ›เป€เบ–เบดเบ‡เบˆเบธเบ”เบซเบกเบฒเบเบ›เบฒเบเบ—เบฒเบ‡เบ‚เบญเบ‡เบฅเบฒเบง.

เป€เบกเบทเปˆเบญเป€เบˆเบปเป‰เบฒเบ•เบฒเบ, เป€เบˆเบปเป‰เบฒเบšเปเปˆเบฎเบนเป‰เป€เบฅเบทเปˆเบญเบ‡เบกเบฑเบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบเบฒเบเบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™. เบกเบฑเบ™เบ„เบทเบเบฑเบ™เป€เบกเบทเปˆเบญเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เบฎเบฝเบ™เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”...

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เบ–เป‰เบฒเบ„เบปเบ™เบšเปเปˆเบฎเบนเป‰เบˆเบฑเบเบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ? เบšเบฒเบ‡เบ„เบฑเป‰เบ‡, เบ‚เป‰เบญเบเบชเบญเบ™เบšเบปเบ”เบฎเบฝเบ™เบชเปˆเบงเบ™เบ•เบปเบงเปƒเบซเป‰เบ™เบฑเบเบฎเบฝเบ™เบ—เบตเปˆเป€เบเบฑเปˆเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบขเบนเปˆเป‚เบฎเบ‡เบฎเบฝเบ™. เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบžเบงเบเบกเบฑเบ™เบ•เบดเบ”เบขเบนเปˆเปƒเบ™เบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡เบงเบปเบ‡เบˆเบญเบ™. เบซเบผเบฒเบเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบฎเบฑเบ” "เบžเบถเบ”เบŠเบฐเบ„เบฐเบ™เบดเบ”" เบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ, เปเบ•เปˆเปƒเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก.
เบ™เบตเป‰เป€เบเบตเบ”เบ‚เบทเป‰เบ™เป€เบžเบฒเบฐเบงเปˆเบฒเป€เบกเบทเปˆเบญเบ‚เบฝเบ™ loops, เป€เบ•เบฑเบเบ™เบดเบเบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบเบธเปˆเบกเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ—เบตเปˆเบ„เบทเบเบฑเบ™.

เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบœเบปเบ™เบ‚เบญเบ‡เป‚เบ›เบฃเปเบเบฃเบกเบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เปเบšเบšเบ™เบตเป‰:

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต
เบšเบปเบ”เบ—เบต 1
เบšเบปเบ”เบ—เบต 2
เบšเบปเบ”เบ—เบต 3
เบšเบปเบ”เบ—เบต 4
เบšเบปเบ”เบ—เบต 5
เบšเบปเบ”เบ—เบต 6
เบšเบปเบ”เบ—เบต 7
เบชเบฐเบซเบฅเบธเบš

เป‚เบ„เบ‡เบเบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ:

static void Main(string[] args)
{
    Console.WriteLine("ะ’ะฒะตะดะตะฝะธะต");
    Console.WriteLine("ะ“ะปะฐะฒะฐ 1");
    Console.WriteLine("ะ“ะปะฐะฒะฐ 2");
    Console.WriteLine("ะ“ะปะฐะฒะฐ 3");
    Console.WriteLine("ะ“ะปะฐะฒะฐ 4");
    Console.WriteLine("ะ“ะปะฐะฒะฐ 5");
    Console.WriteLine("ะ“ะปะฐะฒะฐ 6");
    Console.WriteLine("ะ“ะปะฐะฒะฐ 7");
    Console.WriteLine("ะ—ะฐะบะปัŽั‡ะตะฝะธะต");
}

เปเบ•เปˆเบเบฒเบ™เปเบเป‰เป„เบ‚เบ™เบตเป‰เปเบกเปˆเบ™เบขเบนเปˆเป„เบเบˆเบฒเบเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก laconic. เบ—เปเบฒเบญเบดเบ”เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบเบธเปˆเบกเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบŠเป‰เปเบฒเบเบฑเบ™เบขเบนเปˆเปƒเบ™เบกเบฑเบ™เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ›เปˆเบฝเบ™เบกเบฑเบ™. เบเบฒเบ™เปเบเป‰เป„เบ‚เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰:

static void Main(string[] args)
{
    Console.WriteLine("ะ’ะฒะตะดะตะฝะธะต");
    for (int i = 1; i <= 7; i++)
    {
        Console.WriteLine("ะ“ะปะฐะฒะฐ " + i);
    }
    Console.WriteLine("ะ—ะฐะบะปัŽั‡ะตะฝะธะต");
}

เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบšเบธเบเบ„เบปเบ™เปƒเบ”เบซเบ™เบถเปˆเบ‡เบšเปเปˆเป„เบ”เป‰ mastered เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบ‚เบปเบฒเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เบฅเบฒเบงเบžเบฝเบ‡เปเบ•เปˆเบˆเบฐเบšเปเปˆเบกเบตเบ—เบฑเบเบชเบฐเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบงเปˆเบฒเบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡ loops เป€เบ›เบฑเบ™เบญเบธเบ›เบฐเบชเบฑเบเบ—เปเบฒเบญเบดเบ”เปƒเบ™เบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ.

เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบญเบทเปˆเบ™เป†. เบ–เป‰เบฒเบ„เบปเบ™เบšเปเปˆเบฎเบนเป‰เบˆเบฑเบเบงเบดเบ—เบตเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบขเบนเปˆเปƒเบ™เบกเบท, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบฒเบงเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบชเบฐเบซเบฅเบฒเบ”เบ›เบฐเบˆเปเบฒเบงเบฑเบ™. เบฅเบตเป‰เบ™เบ—เบตเปˆเบŠเบปเปˆเบงเบฎเป‰เบฒเบเบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒเบกเบทเบเปเบฒเบฅเบฑเบ‡เป€เบ•เบตเบšเปƒเบซเบเปˆเบกเบฒเบˆเบฒเบเบšเปˆเบญเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡. เปƒเบ™เบ–เบฐเบซเบ™เบปเบ™เบซเบปเบ™เบ—เบฒเบ‡, เบ™เบตเป‰ manifests เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เปƒเบ™เบ„เบงเบฒเบกเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเบ›เบฐเป€เบกเบตเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเป€เบฅเบทเบญเบ maneuver. เป€เบŠเบดเปˆเบ‡เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบœเบปเบ™เบชเบฐเบ—เป‰เบญเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเป€เบชเบปเป‰เบฒเปƒเบˆ.

เบ‚เปเป‰เบชเบฐเบซเบผเบธเบš:

  1. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ„เบฐโ€‹เบ™เบดเบ”โ€‹เบชเบฒเบ”โ€‹เบ‚เบญเบ‡โ€‹เป‚เบฎเบ‡โ€‹เบฎเบฝเบ™โ€‹เปเบฅเบฐโ€‹เบกเบฐโ€‹เบซเบฒโ€‹เบงเบดโ€‹เบ—เบฐโ€‹เบเบฒโ€‹เป„เบฅโ€‹เป€เบžเบทเปˆเบญโ€‹เบงเปˆเบฒโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เป‚เบฅเบโ€‹เบชเบฐโ€‹เบ–เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบ—เบตเปˆโ€‹เบ”เบตเบโ€‹เบงเปˆเบฒโ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบกเบต.
  2. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ›เบฑเบ™เบ™เบฑเบเบฎเบฝเบ™ เปเบฅเบฐเบกเบตเบšเบฑเบ™เบซเบฒเปƒเบ™เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบฎเบญเบšเบงเบฝเบ™, เบฅเบญเบ‡เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบžเบทเป‰เบ™เบ–เบฒเบ™ - school algebra . เป€เบญเบปเบฒเบ›เบทเป‰เบกเบšเบฑเบ™เบซเบฒเบชเปเบฒเบฅเบฑเบšเบŠเบฑเป‰เบ™เบฎเบฝเบ™เบ—เบต 9 เปเบฅเบฐเปเบเป‰เป„เบ‚เบ•เบปเบงเบขเปˆเบฒเบ‡เบˆเบฒเบเบกเบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™