เชนเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ ThoughtWorks เช…เชฅเชตเชพ เชจเชฎเซ‚เชจเชพ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ‚เชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถเซเชฏเซ‹

เชนเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ ThoughtWorks เช…เชฅเชตเชพ เชจเชฎเซ‚เชจเชพ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ‚เชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถเซเชฏเซ‹

เชถเซเช‚ เชคเชฎเชจเซ‡ เชคเซ‡ เช…เชœเซเช—เชคเซเช‚ เชจเชฅเซ€ เชฒเชพเช—เชคเซเช‚ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชจเซ‹เช•เชฐเซ€ เชฌเชฆเชฒเชตเชพเชจเชพ เช›เซ‹ เช…เชจเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชค เช‰เชญเซ€ เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชธเซŒเชฅเซ€ เชชเชนเซ‡เชฒเซ€ เชตเชธเซเชคเซ เชคเชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ "เชคเชฎเชพเชฐเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ‚ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡." HackerRank เชชเชฐ เชธเชฎเชธเซเชฏเชพเช“ เช‰เช•เซ‡เชฒเซ‹, เช•เซ‹เชกเชฟเช‚เช— เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เช•เซเชฐเซ‡เช• เช•เชฐเซ‹, ArrayList เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ LinkedList เชฅเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฒเช— เช›เซ‡ เชคเซ‡ เชฏเชพเชฆ เชฐเชพเช–เซ‹. เช“เชน เชนเชพ, เชคเซ‡เช“ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเชพ เชตเชฟเชถเซ‡ เชชเชฃ เชชเซ‚เช›เซ€ เชถเช•เซ‡ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เช•เชนเซ‡เชตเซเช‚ เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡ เช…เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเช• เชนเชถเซ‡ เช•เซ‡ เชเชกเชชเซ€ เชธเซ‰เชฐเซเชŸ เชธเซŒเชฅเซ€ เชถเซเชฐเซ‡เชทเซเช  เชชเชธเช‚เชฆเช—เซ€ เชนเชถเซ‡.
เชชเชฐเช‚เชคเซ เชฐเชพเชน เชœเซเช“, เชคเชฎเซ‡ เชฆเชฟเชตเชธเชฎเชพเช‚ 8 เช•เชฒเชพเช• เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เช•เชฐเซ‹ เช›เซ‹, เชฐเชธเชชเซเชฐเชฆ เช…เชจเซ‡ เชฌเชฟเชจ-เชคเซเชšเซเช› เชธเชฎเชธเซเชฏเชพเช“ เชนเชฒ เช•เชฐเซ‹ เช›เซ‹, เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชจเชตเซ€ เชจเซ‹เช•เชฐเซ€ เชชเชฐ เชคเชฎเซ‡ เชคเซ‡ เชœ เชตเชธเซเชคเซ เช•เชฐเชถเซ‹, เชตเชคเซเชคเชพ เช…เชฅเชตเชพ เช“เช›เชพ. เชชเชฐเช‚เชคเซ เชคเซ‡เชฎ เช›เชคเชพเช‚, เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชพเชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เช•เซ‹เชˆเช• เชฐเซ€เชคเซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เชคเซˆเชฏเชพเชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชคเชฎเชพเชฐเซ€ เชฐเซ‹เชœเชฟเช‚เชฆเชพ เช•เซเชถเชณเชคเชพเชจเซ‡ เชธเซเชงเชพเชฐเชตเซ€ เชชเชฃ เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เช•เช‚เชˆเช• เชถเซ€เช–เซ‹ เชœเซ‡เชจเซ€ เชคเชฎเชจเซ‡ เชคเชฎเชพเชฐเซ€ เชตเชฐเซเชคเชฎเชพเชจ เชจเซ‹เช•เชฐเซ€เชฎเชพเช‚ เชœเชฐเซ‚เชฐ เชจ เชนเชคเซ€ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เช†เช—เชพเชฎเซ€ เชจเซ‹เช•เชฐเซ€เชฎเชพเช‚ เชœเชฐเซ‚เชฐ เชชเชกเชตเชพเชจเซ€ เชถเช•เซเชฏเชคเชพ เชจเชฅเซ€. เชคเชฎเชพเชฐเชพ เชตเชพเช‚เชงเชพเช“ เช•เซ‡ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชตเชฟเชœเซเชžเชพเชจ เช…เชฎเชพเชฐเชพ เชฒเซ‹เชนเซ€เชฎเชพเช‚ เช›เซ‡, เช…เชจเซ‡ เชœเซ‹ เชคเชฎเซ‡ เช…เชฎเชจเซ‡ เชฎเชงเซเชฏเชฐเชพเชคเซเชฐเชฟเช เชœเช—เชพเชกเชถเซ‹, เชคเซ‹ เช…เชฎเซ‡ เช“เชถเซ€เช•เซเช‚ เชชเชฐ เช†เช‚เช– เชฌเช‚เชง เช•เชฐเซ€เชจเซ‡, เชญเชพเชจเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชตเชฟเชจเชพ เชเชพเชกเชจเซ€ เชชเชนเซ‹เชณเชพเชˆเชจเซ€ เช†เชธเชชเชพเชธ เชšเชพเชฒเชตเซเช‚ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชฌเช‚เชงเชพเชฏเซ‡เชฒเชพ เช›เซ€เช, เชนเซเช‚ เชœเชตเชพเชฌ เช†เชชเชถเซ‡ เช•เซ‡ เชœเซ‹ เชฎเชจเซ‡ เชธเชฐเซเช•เชธเชฎเชพเช‚ เชจเซ‹เช•เชฐเซ€ เชฎเชณเซ‡, เช…เชจเซ‡ เชฎเชพเชฐเซ€ เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เชฏเซเช•เซเชคเชฟ เชฌเชฐเชพเชฌเชฐ เช† เชœ เชนเชถเซ‡ - เชคเซ‹ เช•เชฆเชพเชš เชนเชพ, เชนเซเช‚ เชธเช‚เชฎเชค เช›เซเช‚. เช† เช•เซŒเชถเชฒเซเชฏเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.

เชชเชฐเช‚เชคเซ เชถเชพ เชฎเชพเชŸเซ‡ เช•เซŒเชถเชฒเซเชฏเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‹ เชœเซ‡ เชคเชฎเชพเชฐเซ€ เชตเชฐเซเชคเชฎเชพเชจ เชจเซ‹เช•เชฐเซ€ เชฎเชพเชŸเซ‡ เช…เชชเซเชฐเชธเซเชคเซเชค เช›เซ‡? เชฎเชพเชคเซเชฐ เชเชŸเชฒเชพ เชฎเชพเชŸเซ‡ เช•เซ‡ เชคเซ‡ เชซเซ‡เชถเชจเซ‡เชฌเชฒ เชฌเชจเซ€ เช—เชฏเซเช‚? เช•เชพเชฐเชฃ เช•เซ‡ เช—เซ‚เช—เชฒ เช† เช•เชฐเซ‡ เช›เซ‡? เช…เชฅเชตเชพ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฎเชพเชฐเซ€ เชญเชพเชตเชฟ เชŸเซ€เชฎ เชฒเซ€เชกเชจเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชนเซ‡เชฒเชพเช‚ เชคเชฎเชพเชฎ เชตเชฐเซเช—เซ€เช•เชฐเชฃ เชชเชฆเซเชงเชคเชฟเช“ เชถเซ€เช–เชตเชพเชจเซ€ เชนเชคเซ€ เช…เชจเซ‡ เชนเชตเซ‡ เชคเซ‡ เชฎเชพเชจเซ‡ เช›เซ‡ เช•เซ‡ "เชฆเชฐเซ‡เช• เชธเชพเชฐเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฐเชจเซ‡ เชธเซเชŸเซเชฐเชฟเช‚เช—เชฎเชพเช‚ เชชเซ‡เชฒเชฟเชจเซเชกเซเชฐเซ‹เชฎ เชถเซ‹เชงเชตเชพเชจเซเช‚ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชนเซƒเชฆเชฏเชฅเซ€ เชœเชพเชฃเชตเซเช‚ เชœเซ‹เชˆเช."

เชธเชพเชฐเซเช‚, เชคเชฎเซ‡ Google (c) เชจเชฅเซ€. เช—เซ‚เช—เชฒ เชœเซ‡ เชชเชฐเชตเชกเซ‡ เช›เซ‡, เชธเชพเชฎเชพเชจเซเชฏ เช•เช‚เชชเชจเซ€เช“ เชจเชฅเซ€ เช•เชฐเซ€ เชถเช•เชคเซ€. Google, เชคเซ‡เชจเชพ เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“เชจเชพ เชกเซ‡เชŸเชพเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เชจเซ‡, เช† เชจเชฟเชทเซเช•เชฐเซเชท เชชเชฐ เชชเชนเซ‹เช‚เชšเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เช“เชฒเชฟเชฎเซเชชเชฟเชฏเชพเชก เชชเซƒเชทเซเช เชญเซ‚เชฎเชฟ เชงเชฐเชพเชตเชคเชพ เช‡เชœเชจเซ‡เชฐเซ‹ เชคเซ‡เชจเชพ เชšเซ‹เช•เซเช•เชธ เช•เชพเชฐเซเชฏเซ‹ เชธเชพเชฅเซ‡ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเชพเชฐเชพ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชคเซ‡เชฎเชจเซ€ เชชเชธเช‚เชฆเช—เซ€เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชกเชฟเชเชพเช‡เชจ เช•เชฐเซ€เชจเซ‡, เชคเซ‡เช“ เชœเซ‹เช–เชฎ เชฒเซ‡เชตเชพเชจเซเช‚ เชชเชฐเชตเชกเซ€ เชถเช•เซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“ เช•เชฆเชพเชš เชฅเซ‹เชกเชพ เชธเชพเชฐเชพ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเซ‹เชจเซ€ เชจเชฟเชฎเชฃเซ‚เช• เช•เชฐเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เช“ เช—เชฃเชฟเชคเชจเซ€ เชธเชฎเชธเซเชฏเชพเช“ เชธเชฐเชณเชคเชพเชฅเซ€ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชคเชพ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เช† เชคเซ‡เชฎเชจเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชˆ เชธเชฎเชธเซเชฏเชพ เชจเชฅเซ€, เชเชตเชพ เช˜เชฃเชพ เชฒเซ‹เช•เซ‹ เช›เซ‡ เชœเซ‡เช“ เช—เซ‚เช—เชฒเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‡ เช›เซ‡, เชชเชฆ เชฌเช‚เชง เชฅเชˆ เชœเชถเซ‡.
ะขะตะฟะตั€ัŒ ะดะฐะฒะฐะนั‚ะต ะฒั‹ะณะปัะฝะตะผ ะฒ ะพะบะฝะพ, ะธ ะตัะปะธ ะฟะตั€ะตะด ะฒะฐัˆะธะผ ะพั„ะธัะพะผ ะตั‰ะต ะธะฝะถะตะฝะตั€ั‹, ะถะตะปะฐัŽั‰ะธะต ัƒ ะฒะฐั ั€ะฐะฑะพั‚ะฐั‚ัŒ, ะฝะต ั€ะฐะทะฑะธะปะธ ะฟะฐะปะฐั‚ะพั‡ะฝั‹ะน ะปะฐะณะตั€ัŒ, ะฐ ะฒะฐัˆะธ ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะธ ั‡ะฐั‰ะต ะธั‰ัƒั‚ ะฝะฐ stackoverflow ะบะฐะบัƒัŽ ะพั‡ะตั€ะตะดะฝัƒัŽ ะกะฟั€ะธะฝะณะพะฒัƒัŽ ะฐะฝะฝะพั‚ะฐั†ะธัŽ ะฝัƒะถะฝะพ ะฟะพัั‚ะฐะฒะธั‚ัŒ, ะฐ ะฝะต ั‚ะพะฝะบะพัั‚ะธ ะฐะปะณะพั€ะธั‚ะผะพะฒ ั€ะฐะฝะถะธั€ะพะฒะฐะฝะธั, ั‚ะพ, ะฟะพ ะฒัะตะน ะฒะธะดะธะผะพัั‚ะธ, ะฒะฐะผ ะฟะพั€ะฐ ะทะฐะดัƒะผะฐั‚ัŒัั ะฝะฐะด ั‚ะตะผ ัั‚ะพะธั‚ ะปะธ ะบะพะฟะธั€ะพะฒะฐั‚ัŒ Google.

เชธเชพเชฐเซเช‚, เชœเซ‹ เช† เชตเช–เชคเซ‡ เช—เซ‚เช—เชฒ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เช…เชจเซ‡ เชœเชตเชพเชฌ เชจ เช†เชชเซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชถเซเช‚ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช? เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เช•เชพเชฎ เชชเชฐ เชถเซเช‚ เช•เชฐเชถเซ‡ เชคเซ‡ เชฌเชฐเชพเชฌเชฐ เชคเชชเชพเชธเซ‹. เชคเชฎเซ‡ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชฎเชพเช‚ เชถเซเช‚ เชฎเซ‚เชฒเซเชฏเชตเชพเชจ เช›เซ‹?
เชคเชฎเซ‡ เช•เซ‹เชจเซ‡ เชจเชฟเชฏเซเช•เซเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฎเชพเชชเชฆเช‚เชก เชฌเชจเชพเชตเซ‹ เช…เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชตเชฟเช•เชธเชพเชตเซ‹ เชœเซ‡ เช† เช•เซเชถเชณเชคเชพเชจเซ‡ เชฌเชฐเชพเชฌเชฐ เชšเช•เชพเชธเซ‡.

เชฅเซ‹เชŸเชตเชฐเซเช•เชธ

เชฅเซ‹เชŸเชตเชฐเซเช•เชจเซ‡ เช†เชจเซ€ เชธเชพเชฅเซ‡ เชถเซเช‚ เชฒเซ‡เชตเชพเชฆเซ‡เชตเชพ เช›เซ‡? เชคเซ‡ เช…เชนเซ€เช‚ เชนเชคเซเช‚ เช•เซ‡ เชฎเชจเซ‡ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชเช• เช…เชจเซเช•เชฐเชฃเซ€เชฏ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชฎเชณเซเชฏเซเช‚. Thoughtworks เช•เซ‹เชฃ เช›เซ‡? เชŸเซ‚เช‚เช•เชฎเชพเช‚, เช† เชเช• เชนเชพเช‡-เชเชจเซเชก เช•เชจเซเชธเชฒเซเชŸเชฟเช‚เช— เช•เช‚เชชเชจเซ€ เช›เซ‡, เชœเซ‡เชจเซ€ เช‘เชซเชฟเชธ เชธเชฎเช—เซเชฐ เชตเชฟเชถเซเชตเชฎเชพเช‚ เช›เซ‡, เชšเซ€เชจ, เชธเชฟเช‚เช—เชพเชชเซ‹เชฐเชฅเซ€ เชฒเชˆเชจเซ‡ เช…เชฎเซ‡เชฐเชฟเช•เชจ เช–เช‚เชกเซ‹ เชธเซเชงเซ€, เชœเซ‡ เชฒเช—เชญเช— 25 เชตเชฐเซเชทเชฅเซ€ เชตเชฟเช•เชพเชธเชจเชพ เช•เซเชทเซ‡เชคเซเชฐเชฎเชพเช‚ เชชเชฐเชพเชฎเชฐเซเชถ เช•เชฐเซ€ เชฐเชนเซ€ เช›เซ‡, เชคเซ‡เชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชตเชฟเชœเซเชžเชพเชจ เชตเชฟเชญเชพเช— เช›เซ‡, เชœเซ‡เชจเซเช‚ เชจเซ‡เชคเซƒเชคเซเชต เชฎเชพเชฐเซเชŸเชฟเชจ เช•เชฐเซ‡ เช›เซ‡. เชซเชพเช‰เชฒเชฐ. เชœเซ‹ เชคเชฎเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐ เชฎเชพเชŸเซ‡ 10 เชตเชพเช‚เชšเชตเชพ เชœ เชœเซ‹เชˆเช เชคเซ‡เชตเชพ เชชเซเชธเซเชคเช•เซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชถเซ‹เชงเซ‹ เช›เซ‹, เชคเซ‹ เช•เชฆเชพเชš เชคเซ‡เชฎเชพเช‚เชฅเซ€ 2-3 เชฅเซ‹เชŸเชตเชฐเซเช•เซเชธเชจเชพ เชฒเซ‹เช•เซ‹ เชฆเซเชตเชพเชฐเชพ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เชœเซ‡เชฎ เช•เซ‡ เชฎเชพเชฐเซเชŸเชฟเชจ เชซเชพเช‰เชฒเชฐ เชฆเซเชตเชพเชฐเชพ เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช…เชจเซ‡ เชฌเชฟเชฒเซเชกเซ€เช‚เช— เชฎเชพเช‡เช•เซเชฐเซ‹เชธเชฐเซเชตเชฟเชธเชฟเชธ: เชธเซ‡เชฎ เชฆเซเชตเชพเชฐเชพ เชซเชพเช‡เชจ-เช—เซเชฐเซ‡เช‡เชจเซเชก เชธเชฟเชธเซเชŸเชฎเซเชธ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชตเซ€ เชจเซเชฏเซเชฎเซ‡เชจ เช…เชฅเชตเชพ เชฌเชฟเชฒเซเชกเซ€เช‚เช— เช‡เชตเซ‹เชฒเซเชฏเซเชถเชจเชฐเซ€ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐเซเชธ
เชชเซ‡เชŸเซเชฐเชฟเช• เช•เซเช†, เชฐเซ‡เชฌเซ‡เช•เชพ เชชเชพเชฐเซเชธเชจเซเชธ, เชจเซ€เชฒ เชซเซ‹เชฐเซเชก เชฆเซเชตเชพเชฐเชพ.

เช•เช‚เชชเชจเซ€เชจเซ‹ เชตเซเชฏเชตเชธเชพเชฏ เชเช•เชฆเชฎ เช–เชฐเซเชšเชพเชณ เชธเซ‡เชตเชพเช“ เชชเซ‚เชฐเซ€ เชชเชพเชกเชตเชพ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡, เชชเชฐเช‚เชคเซ เช—เซเชฐเชพเชนเช• เช…เชธเชพเชงเชพเชฐเชฃ เช—เซเชฃเชตเชคเซเชคเชพ เชฎเชพเชŸเซ‡ เชšเซ‚เช•เชตเชฃเซ€ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เช•เซเชถเชณเชคเชพ, เช†เช‚เชคเชฐเชฟเช• เชงเซ‹เชฐเชฃเซ‹ เช…เชจเซ‡ เช…เชฒเชฌเชคเซเชค, เชฒเซ‹เช•เซ‹เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡เชฅเซ€, เชฏเซ‹เช—เซเชฏ เชฒเซ‹เช•เซ‹เชจเซ€ เชญเชฐเชคเซ€ เช•เชฐเชตเซ€ เช…เชนเซ€เช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡.
เช•เซ‡เชตเชพ เชชเซเชฐเช•เชพเชฐเชจเชพ เชฒเซ‹เช•เซ‹ เชธเชพเชšเชพ เช›เซ‡? เช…เชฒเชฌเชคเซเชค, เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เช…เชฒเช— เช…เชฒเช— เชนเซ‹เชฏ เช›เซ‡. ThoughtWorks เช เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชคเซ‡เชฎเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพ เชตเซเชฏเชตเชธเชพเชฏ เชฎเซ‹เชกเซ‡เชฒ เชฎเชพเชŸเซ‡เชจเชพ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชฎเชพเชชเชฆเช‚เชกเซ‹ เช›เซ‡:

  • เชœเซ‹เชกเซ€เชฎเชพเช‚ เชตเชฟเช•เชพเชธ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ. เชคเซ‡ เช•เซเชทเชฎเชคเชพ เช›เซ‡, เช…เชจเซเชญเชต เช•เซ‡ เช•เซŒเชถเชฒเซเชฏ เชจเชฅเซ€. 5 เชตเชฐเซเชทเชฅเซ€ เชชเซ‡เชฐ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช—เชจเซ€ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เช•เชฐเชจเชพเชฐเชพ เชฒเซ‹เช•เซ‹ เช†เชตเชถเซ‡ เชเชตเซ€ เช•เซ‹เชˆเชจเซ‡ เช…เชชเซ‡เช•เซเชทเชพ เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เช…เชจเซเชฏ เชฒเซ‹เช•เซ‹เชจเชพ เชฎเช‚เชคเชตเซเชฏเซ‹ เชธเซเชตเซ€เช•เชพเชฐเชตเชพ เช…เชจเซ‡ เชธเชพเช‚เชญเชณเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชฌเชจเชตเซเช‚ เช เช†เชตเชถเซเชฏเช• เช•เซŒเชถเชฒเซเชฏ เช›เซ‡.
  • เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชฒเช–เชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ, เช…เชจเซ‡ เช†เชฆเชฐเซเชถ เชฐเซ€เชคเซ‡ TDD เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เช•เชฐเซ‹
  • SOLID เช…เชจเซ‡ OOP เชจเซ‡ เชธเชฎเชœเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชฌเชจเซ‹.
  • เชคเชฎเชพเชฐเซ‹ เช…เชญเชฟเชชเซเชฐเชพเชฏ เชฐเชœเซ‚ เช•เชฐเซ‹. เช•เชจเซเชธเชฒเซเชŸเชจเซเชŸ เชคเชฐเซ€เช•เซ‡, เชคเชฎเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸเชจเชพ เชกเซ‡เชตเชฒเชชเชฐเซเชธ เชธเชพเชฅเซ‡, เช…เชจเซเชฏ เช•เชจเซเชธเชฒเซเชŸเชจเซเชŸเซเชธ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡, เช…เชจเซ‡ เชœเซ‹ เช•เซ‹เชˆ เชตเซเชฏเช•เซเชคเชฟ เช•เช‚เชˆเช• เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ เชœเชพเชฃเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡ เชฌเชพเช•เซ€เชจเซ€ เชŸเซ€เชฎ เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเชพเชกเชตเชพเชฎเชพเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡ เช…เชธเชฎเชฐเซเชฅ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡เชจเชพเชฅเซ€ เชตเชงเซ เชซเชพเชฏเชฆเซ‹ เชฅเชคเซ‹ เชจเชฅเซ€.

เชนเชตเซ‡ เช‰เชฎเซ‡เชฆเชตเชพเชฐเชฎเชพเช‚ เช† เชตเชฟเชถเชฟเชทเซเชŸ เช•เซเชถเชณเชคเชพเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเซเช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡. เช…เชจเซ‡ เช…เชนเซ€เช‚ เชนเซเช‚ เชฅเซ‹เชŸเชตเชฐเซเช•เซเชธเชฎเชพเช‚ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฒเซ‡เชตเชพเชจเชพ เชฎเชพเชฐเชพ เช…เชจเซเชญเชต เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚. เชนเซเช‚ เชคเชฐเชค เชœ เช•เชนเซ€เชถ เช•เซ‡ เชนเซเช‚ เชธเชฟเช‚เช—เชพเชชเซ‹เชฐ เช—เชฏเซ‹ เชนเชคเซ‹ เช…เชจเซ‡ เชชเชพเชธ เชฅเชฏเซ‹ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชญเชฐเชคเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชเช•เซ€เช•เซƒเชค เช›เซ‡ เช…เชจเซ‡ เชฆเซ‡เชถ-เชฆเซ‡เชถเชฎเชพเช‚ เชฌเชนเซ เช…เชฒเช— เชจเชนเซ€เช‚ เชนเซ‹เชฏ.

เชธเซเชŸเซ‡เชœ 0. HR

เชœเซ‡เชฎ เชตเชพเชฐเช‚เชตเชพเชฐ เชฅเชพเชฏ เช›เซ‡, HR เชธเชพเชฅเซ‡ 20-เชฎเชฟเชจเชฟเชŸเชจเซ€ เชฎเซเชฒเชพเช•เชพเชค. เชนเซเช‚ เชคเซ‡เชจเชพ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเซ€เชถ เชจเชนเซ€เช‚, เชนเซเช‚ เชซเช•เซเชค เชเชŸเชฒเซเช‚ เชœ เช•เชนเซ€เชถ เช•เซ‡ เชนเซเช‚ เช•เซเชฏเชพเชฐเซ‡เชฏ เชเชตเชพ HR เชตเซเชฏเช•เซเชคเชฟเชจเซ‡ เชฎเชณเซเชฏเซ‹ เชจเชฅเซ€ เชœเซ‡ เช•เช‚เชชเชจเซ€เชฎเชพเช‚ เชตเชฟเช•เชพเชธ เชธเช‚เชธเซเช•เซƒเชคเชฟ เชตเชฟเชถเซ‡ 15 เชฎเชฟเชจเชฟเชŸ เชตเชพเชค เช•เชฐเซ€ เชถเช•เซ‡, เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“ TDD เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชถเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช—เชจเซ€ เชœเซ‹เชกเซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชเชšเช†เชฐ เช† เชชเซเชฐเชถเซเชจ เชชเชฐ เชตเชฟเชฒเช‚เชฌ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช•เชนเซ‡ เช›เซ‡ เช•เซ‡ เชคเซ‡เชฎเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡: เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เชตเชฟเช•เชพเชธ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเซ€เช•เซเชทเช•เซ‹ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ‡ เช›เซ‡, เชฎเซ‡เชจเซ‡เชœเชฐเซ‹ เชกเซเชฐเชพเช‡เชต เช•เชฐเซ‡ เช›เซ‡.

เชธเซเชŸเซ‡เชœ 1. เชคเชฎเซ‡ OOP, TDDเชฎเชพเช‚ เช•เซ‡เชŸเชฒเชพ เชธเชพเชฐเชพ เช›เซ‹?

เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเซ€ เชถเชฐเซ‚เช†เชคเชจเชพ 1.5 เช•เชฒเชพเช• เชชเชนเซ‡เชฒเชพ, เชฎเชจเซ‡ เชฎเชพเชฐเซเชธ เชฐเซ‹เชตเชฐ เชธเชฟเชฎเซเชฏเซเชฒเซ‡เชŸเชฐ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เชŸเชพเชธเซเช• เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹.

เชฎเช‚เช—เชณ เชฐเซ‹เชตเชฐ เชฎเชฟเชถเชจเชจเชพเชธเชพ เชฆเซเชตเชพเชฐเชพ เชฎเช‚เช—เชณ เชชเชฐเชจเชพ เช‰เชšเซเชšเชชเซเชฐเชฆเซ‡เชถ เชชเชฐ เชฐเซ‹เชฌเซ‹เชŸเชฟเช• เชฐเซ‹เชตเชฐเซเชธเชจเซ€ เชŸเซเช•เชกเซ€ เช‰เชคเชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเชจเชพเชฐ เช›เซ‡. เช† เช‰เชšเซเชšเชชเซเชฐเชฆเซ‡เชถ, เชœเซ‡ เชตเชฟเชšเชฟเชคเซเชฐ เชฐเซ€เชคเซ‡ เชฒเช‚เชฌเชšเซ‹เชฐเชธ เช›เซ‡, เชฐเซ‹เชตเชฐเซเชธ เชฆเซเชตเชพเชฐเชพ เชจเซ‡เชตเชฟเช—เซ‡เชŸ เช•เชฐเชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡ เชœเซ‡เชฅเซ€ เชคเซ‡เชฎเชจเชพ เช“เชจ-เชฌเซ‹เชฐเซเชก เช•เซ‡เชฎเซ‡เชฐเชพ เชชเซƒเชฅเซเชตเซ€ เชชเชฐ เชชเชพเช›เชพ เชฎเซ‹เช•เชฒเชตเชพ เชฎเชพเชŸเซ‡ เช†เชธเชชเชพเชธเชจเชพ เชญเซ‚เชชเซเชฐเชฆเซ‡เชถเชจเซ‹ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฆเซƒเชถเซเชฏ เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‡. เชฐเซ‹เชตเชฐเชจเซ€ เชธเซเชฅเชฟเชคเชฟ เช…เชจเซ‡ เชธเซเชฅเชพเชจ x เช…เชจเซ‡ y เช•เซ‹-เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธ เช…เชจเซ‡ เชšเชพเชฐ เชฎเซเช–เซเชฏ เชนเซ‹เช•เชพเชฏเช‚เชคเซเชฐ เชฌเชฟเช‚เชฆเซเช“เชฎเชพเช‚เชฅเซ€ เชเช•เชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต เช•เชฐเชคเชพ เช…เช•เซเชทเชฐ เชฆเซเชตเชพเชฐเชพ เชฐเชœเซ‚ เชฅเชพเชฏ เช›เซ‡. เชจเซ‡เชตเชฟเช—เซ‡เชถเชจเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชšเซเชšเชชเซเชฐเชฆเซ‡เชถเชจเซ‡ เช—เซเชฐเซ€เชกเชฎเชพเช‚ เชตเชฟเชญเชพเชœเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃเชจเซ€ เชธเซเชฅเชฟเชคเชฟ 0, 0, N เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ เชฐเซ‹เชตเชฐ เชจเซ€เชšเซ‡ เชกเชพเชฌเชพ เช–เซ‚เชฃเชพเชฎเชพเช‚ เช›เซ‡ เช…เชจเซ‡ เช‰เชคเซเชคเชฐ เชคเชฐเชซ เช›เซ‡. เชฐเซ‹เชตเชฐเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชจเชพเชธเชพ เช…เช•เซเชทเชฐเซ‹เชจเซ€ เชธเชฐเชณ เชธเซเชŸเซเชฐเชฟเช‚เช— เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡. เชธเช‚เชญเชตเชฟเชค เช…เช•เซเชทเชฐเซ‹ 'L', 'R' เช…เชจเซ‡ 'M' เช›เซ‡. 'L' เช…เชจเซ‡ 'R' เชฐเซ‹เชตเชฐเชจเซ‡ เชคเซ‡เชจเชพ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชพเชจ เชชเชฐเชฅเซ€ เช–เชธเซ‡เชกเซเชฏเชพ เชตเชฟเชจเชพ เช…เชจเซเช•เซเชฐเชฎเซ‡ 90 เชกเชฟเช—เซเชฐเซ€ เชกเชพเชฌเซ‡ เช…เชฅเชตเชพ เชœเชฎเชฃเซ‡ เชธเซเชชเชฟเชจ เช•เชฐเซ‡ เช›เซ‡. 'M' เชเชŸเชฒเซ‡ เชเช• เช—เซเชฐเซ€เชก เชชเซ‹เชˆเชจเซเชŸ เช†เช—เชณ เชตเชงเซ‹ เช…เชจเซ‡ เช เชœ เชนเซ‡เชกเชฟเช‚เช— เชœเชพเชณเชตเซ€ เชฐเชพเช–เซ‹.
เชงเชพเชฐเซ‹ เช•เซ‡ (x, y) เชฅเซ€ เชธเซ€เชงเซ‹ เช‰เชคเซเชคเชฐเชจเซ‹ เชšเซ‹เชฐเชธ (x, y+1) เช›เซ‡.
เช‡เชจเชชเซเชŸ:
เช‡เชจเชชเซเชŸเชจเซ€ เชชเซเชฐเชฅเชฎ เชฒเชพเช‡เชจ เช‰เชšเซเชš-เชœเชฎเชฃเซ€ เชฌเชพเชœเซเชจเชพ เช‰เชšเซเชš เช•เซ‹เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธ เช›เซ‡, เชจเซ€เชšเชฒเชพ-เชกเชพเชฌเซ‡ เช•เซ‹เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธ 0,0 เชนเซ‹เชตเชพเชจเซเช‚ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
เชฌเชพเช•เซ€เชจเซเช‚ เช‡เชจเชชเซเชŸ เช เชฐเซ‹เชตเชฐเซเชธเชจเซ‡ เชฒเช—เชคเซ€ เชฎเชพเชนเชฟเชคเซ€ เช›เซ‡ เชœเซ‡ เชคเซˆเชจเชพเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡. เชฆเชฐเซ‡เช• เชฐเซ‹เชตเชฐเชฎเชพเช‚ เช‡เชจเชชเซเชŸเชจเซ€ เชฌเซ‡ เชฒเชพเช‡เชจ เชนเซ‹เชฏ เช›เซ‡. เชชเซเชฐเชฅเชฎ เชฒเชพเช‡เชจ เชฐเซ‹เชตเชฐเชจเซ€ เชธเซเชฅเชฟเชคเชฟ เช†เชชเซ‡ เช›เซ‡, เช…เชจเซ‡ เชฌเซ€เชœเซ€ เชฒเชพเช‡เชจ เชฐเซ‹เชตเชฐเชจเซ‡ เช‰เชšเซเชšเชชเซเชฐเชฆเซ‡เชถเชจเซเช‚ เช…เชจเซเชตเซ‡เชทเชฃ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ เชœเชฃเชพเชตเชคเซ€ เชธเซ‚เชšเชจเชพเช“เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€ เช›เซ‡. เชชเซ‹เชเชฟเชถเชจ เชฌเซ‡ เชชเซ‚เชฐเซเชฃเชพเช‚เช•เซ‹ เช…เชจเซ‡ เชธเซเชชเซ‡เชธ เชฆเซเชตเชพเชฐเชพ เช…เชฒเช— เช•เชฐเชพเชฏเซ‡เชฒเชพ เช…เช•เซเชทเชฐเชฅเซ€ เชฌเชจเซ‡เชฒเซ€ เช›เซ‡, เชœเซ‡ x เช…เชจเซ‡ y เช•เซ‹-เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธ เช…เชจเซ‡ เชฐเซ‹เชตเชฐเชจเชพ เช“เชฐเชฟเชเชจเซเชŸเซ‡เชถเชจเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡.
เชฆเชฐเซ‡เช• เชฐเซ‹เชตเชฐ เช•เซเชฐเชฎเชฟเช• เชฐเซ€เชคเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชถเซ‡, เชœเซ‡เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชชเซเชฐเชฅเชฎ เชฐเซ‹เชตเชฐ เช–เชธเซ‡เชกเชตเชพเชจเซเช‚ เชธเชฎเชพเชชเซเชค เชจ เช•เชฐเซ‡ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชฌเซ€เชœเซเช‚ เชฐเซ‹เชตเชฐ เช–เชธเซ‡เชกเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชถเซ‡ เชจเชนเซ€เช‚.
เช†เช‰เชŸเชชเซเชŸ:
เชฆเชฐเซ‡เช• เชฐเซ‹เชตเชฐ เชฎเชพเชŸเซ‡เชจเซเช‚ เช†เช‰เชŸเชชเซเชŸ เชคเซ‡เชจเชพ เช…เช‚เชคเชฟเชฎ เช•เซ‹เช“เชฐเซเชกเชฟเชจเซ‡เชŸเซเชธ เช…เชจเซ‡ เชนเซ‡เชกเชฟเช‚เช— เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช.
เชจเซ‹เช‚เชงเซ‹:
เชซเช•เซเชค เช‰เชชเชฐเชจเซ€ เช†เชตเชถเซเชฏเช•เชคเชพเช“เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชเช•เชฎ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชฒเช–เซ€เชจเซ‡ เชตเซ‡เช•เซเชฏเซเชฎ เช•เซเชฒเซ€เชจเชฐ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชธเชพเชฌเชฟเชค เช•เชฐเซ‹.
เช•เซ‹เชˆเชชเชฃ เชชเซเชฐเช•เชพเชฐเชจเซเช‚ เชฏเซเชเชฐ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เชฌเชจเชพเชตเชตเซเช‚ เช เช…เชตเช•เชพเชถเชจเซ€ เชฌเชนเชพเชฐ เช›เซ‡.
TDD (เชŸเซ‡เชธเซเชŸ เชกเซเชฐเชฟเชตเชจ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸ) เช…เชญเชฟเช—เชฎเชจเซ‡ เช…เชจเซเชธเชฐเซ€เชจเซ‡ เชธเชฎเชธเซเชฏเชพเชจเซเช‚ เชจเชฟเชฐเชพเช•เชฐเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.
เช‰เชชเชฒเชฌเซเชง เชŸเซ‚เช‚เช•เชพ เชธเชฎเชฏเชฎเชพเช‚, เช…เชฎเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชคเชพ เช•เชฐเชคเชพเช‚ เช—เซเชฃเชตเชคเซเชคเชพ เชตเชฟเชถเซ‡ เชตเชงเซ เชšเชฟเช‚เชคเชฟเชค เช›เซ€เช.
*เชฎเชจเซ‡ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เช…เชธเชพเช‡เชจเชฎเซ‡เชจเซเชŸ เชนเซเช‚ เชชเซ‹เชธเซเชŸ เช•เชฐเซ€ เชถเช•เชคเซ‹ เชจเชฅเซ€, เช† เชเช• เชœเซ‚เชจเซเช‚ เช…เชธเชพเช‡เชจเชฎเซ‡เชจเซเชŸ เช›เซ‡ เชœเซ‡ เช˜เชฃเชพ เชตเชฐเซเชทเซ‹ เชชเชนเซ‡เชฒเชพ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚. เชชเชฐเช‚เชคเซ เชฎเชพเชฐเชพ เชชเชฐ เชตเชฟเชถเซเชตเชพเชธ เช•เชฐเซ‹, เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชฌเชงเซเช‚ เชธเชฎเชพเชจ เชฐเชนเซ‡ เช›เซ‡.

เชนเซเช‚ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจเชจเชพ เชฎเชพเชชเชฆเช‚เชกเซ‹ เชชเชฐ เชงเซเชฏเชพเชจ เชฆเซ‹เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚. เชคเชฎเซ‡ เช•เซ‡เชŸเชฒเซ€ เชตเชพเชฐ เชเชตเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซเชฏเซ‹ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเช‚ เช‰เชฎเซ‡เชฆเชตเชพเชฐ เชฎเชพเชŸเซ‡ เชฎเชนเชคเซเชตเชจเซ€ เชฌเชพเชฌเชคเซ‹ เช“เชกเชฟเชŸ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฌเชฟเชจเชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชนเซ‹เชฏ เช›เซ‡ เช…เชจเซ‡ เชŠเชฒเชŸเซเช‚. เชฆเชฐเซ‡เช• เชœเชฃ เชคเชฎเชพเชฐเชพ เชœเซ‡เชตเซเช‚ เชœ เชตเชฟเชšเชพเชฐเชคเซเช‚ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช˜เชฃเชพ เชคเชฎเชพเชฐเชพ เชฎเซ‚เชฒเซเชฏเซ‹เชจเซ‡ เชธเซเชตเซ€เช•เชพเชฐเซ€ เช…เชจเซ‡ เช…เชจเซเชธเชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‹ เชคเซ‡ เชธเซเชชเชทเซเชŸ เชฐเซ€เชคเซ‡ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡. เชคเซ‡เชฅเซ€, เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจเชจเชพ เชฎเชพเชชเชฆเช‚เชก เชชเชฐเชฅเซ€ เชคเซ‡ เชคเชฐเชค เชœ เชธเซเชชเชทเซเชŸ เชฅเชพเชฏ เช›เซ‡ เช•เซ‡ เช† เชคเชฌเช•เซเช•เซ‡ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช•เซเชถเชณเชคเชพ เช›เซ‡

  • เชŸเซ€เชกเซ€เชกเซ€;
  • OOP เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เช…เชจเซ‡ เชœเชพเชณเชตเซ€ เชฐเชพเช–เชตเชพ เชฏเซ‹เช—เซเชฏ เช•เซ‹เชก เชฒเช–เชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ;
  • เชœเซ‹เชกเซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เช•เซเชทเชฎเชคเชพเช“

เชคเซ‡เชฅเซ€, เชฎเชจเซ‡ เช•เซ‹เชก เชฒเช–เชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, เชนเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเชตเชพ เชœเชˆ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซ€เชจเซ‡ เชคเซ‡ 1.5 เช•เชฒเชพเช• เชชเชธเชพเชฐ เช•เชฐเชตเชพเชจเซ€ เชšเซ‡เชคเชตเชฃเซ€ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เช…เชฎเซ‡ เชธเชพเชฅเซ‡ เชฎเชณเซ€เชจเซ‡ เช•เซ‹เชก เชฒเช–เซ€เชถเซเช‚.

เชœเซเชฏเชพเชฐเซ‡ เช…เชฎเซ‡ เชซเซ‹เชจ เชชเชฐ เช†เชตเซเชฏเชพ, เชคเซเชฏเชพเชฐเซ‡ เชฒเซ‹เช•เซ‹เช เช…เชฎเชจเซ‡ เชŸเซ‚เช‚เช•เชฎเชพเช‚ เช•เชนเซเชฏเซเช‚ เช•เซ‡ เชคเซ‡เช“ เช•เซ‹เชฃ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เชถเซเช‚ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชตเชฟเช•เชพเชธ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซ€ เช“เชซเชฐ เช•เชฐเซ€.

เช†เช–เชพ เชˆเชจเซเชŸเชฐเชตเซเชฏเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เชฎเชจเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชเชตเซ‹ เช…เชนเซ‡เชธเชพเชธ เชจเชนเซ‹เชคเซ‹ เชฅเชฏเซ‹ เช•เซ‡ เชฎเชพเชฐเซ‹ เชˆเชจเซเชŸเชฐเชตเซเชฏเซ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡. เชเชตเซ€ เชฒเชพเช—เชฃเซ€ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชŸเซ€เชฎเชฎเชพเช‚ เช•เซ‹เชก เชตเชฟเช•เชธเชพเชตเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹. เชœเซ‹ เชคเชฎเซ‡ เช•เซเชฏเชพเช‚เช• เช…เชŸเชตเชพเชˆ เชœเชพเช“ เช›เซ‹, เชคเซ‹ เชคเซ‡เช“ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡, เชธเชฒเชพเชน เช†เชชเซ‡ เช›เซ‡, เชšเชฐเซเชšเชพ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชถเซเชฐเซ‡เชทเซเช  เช•เชฐเชตเซเช‚ เชคเซ‡ เช…เช‚เช—เซ‡ เชเช•เชฌเซ€เชœเชพ เชธเชพเชฅเซ‡ เชฆเชฒเซ€เชฒ เชชเชฃ เช•เชฐเซ‡ เช›เซ‡. เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชฎเชพเช‚, เชนเซเช‚ JUnit 5 เชฎเชพเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชคเชชเชพเชธเชตเซเช‚ เชคเซ‡ เชญเซ‚เชฒเซ€ เช—เชฏเซ‹ เช•เซ‡ เชชเชฆเซเชงเชคเชฟ เช…เชชเชตเชพเชฆ เช†เชชเซ‡ เช›เซ‡ - เชคเซ‡เช“เช เชชเชฐเซ€เช•เซเชทเชฃ เชฒเช–เชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชตเชพเชจเซ€ เช“เชซเชฐ เช•เชฐเซ€, เชœเซเชฏเชพเชฐเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เชคเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡ Google เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชนเชคเซ‹.

เชถเชพเชฌเซเชฆเชฟเช• เชฐเซ€เชคเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเชพ เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹ เชชเช›เซ€, เชฎเชจเซ‡ เชฐเชšเชจเชพเชคเซเชฎเช• เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเชณเซเชฏเซ‹ - เชฎเชจเซ‡ เชถเซเช‚ เช—เชฎเซเชฏเซเช‚ เช…เชจเซ‡ เชถเซเช‚ เชจเชฅเซ€. เชฎเชพเชฐเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชจเชฒ เช‘เชฌเซเชœเซ‡เช•เซเชŸเชจเชพ เชตเชฟเช•เชฒเซเชช เชคเชฐเซ€เช•เซ‡ เชธเซ€เชฒเชฌเช‚เชง เชตเชฐเซเช—เซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฌเชฆเชฒ เชฎเชพเชฐเซ€ เชชเซเชฐเชถเช‚เชธเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€; เชนเช•เซ€เช•เชค เช เช›เซ‡ เช•เซ‡ เช•เซ‹เชก เชฒเช–เชคเชพ เชชเชนเซ‡เชฒเชพ, เชฎเซ‡เช‚ เชธเซเชฏเซเชกเซ‹เช•เซ‹เชกเชฎเชพเช‚ เชฒเช–เซเชฏเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชนเซเช‚ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฐเซ‹เชตเชฐเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฟเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚, เช…เชจเซ‡ เช†เชฎ เชตเชฐเซเช—เซ‹เชจเซ‹ เชธเซเช•เซ‡เชš เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ‹, เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชคเซ‡ เชœเซ‡ เชฐเซ‹เชฌเซ‹เชŸเชจเชพ API เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเชพ เช›เซ‡.

เชชเช—เชฒเซเช‚ 2: เช…เชฎเชจเซ‡ เช•เชนเซ‹

เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเชพ เชเช• เช…เช เชตเชพเชกเชฟเชฏเชพ เชชเชนเซ‡เชฒเชพ, เชฎเชจเซ‡ เชฐเชธ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เช•เซ‹เชˆเชชเชฃ เชตเชฟเชทเชฏ เชชเชฐ เชชเซเชฐเซ‡เชเชจเซเชŸเซ‡เชถเชจ เชคเซˆเชฏเชพเชฐ เช•เชฐเชตเชพเชจเซเช‚ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚. เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชธเชฐเชณ เช…เชจเซ‡ เชชเชฐเชฟเชšเชฟเชค เช›เซ‡: 15 เชฎเชฟเชจเชฟเชŸเชจเซ€ เชฐเชœเซ‚เช†เชค, 15 เชฎเชฟเชจเชฟเชŸ เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชœเชตเชพเชฌเซ‹.
เชฎเซ‡เช‚ เช…เช‚เช•เชฒ เชฌเซ‹เชฌ เชฆเซเชตเชพเชฐเชพ เช•เซเชฒเซ€เชจ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชชเชธเช‚เชฆ เช•เชฐเซเชฏเซเช‚. เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เช•เซ‡เชŸเชฒเชพเช• เชฒเซ‹เช•เซ‹ เชฆเซเชตเชพเชฐเชพ เชฎเชพเชฐเซ€ เชฎเซเชฒเชพเช•เชพเชค เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ€. เช…เช‚เช—เซเชฐเซ‡เชœเซ€เชฎเชพเช‚ เชชเซเชฐเชธเซเชคเซเชคเชฟ เช•เชฐเชตเชพเชจเซ‹ เช† เชฎเชพเชฐเซ‹ เชชเชนเซ‡เชฒเซ‹ เช…เชจเซเชญเชต เชนเชคเซ‹, เช…เชจเซ‡ เช•เชฆเชพเชš, เชœเซ‹ เชนเซเช‚ เชคเชฃเชพเชตเชชเซ‚เชฐเซเชฃ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เชนเซ‹เชค, เชคเซ‹ เชนเซเช‚ เชคเซ‡เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเซ€ เชถเช•เซเชฏเซ‹ เชจ เชนเซ‹เชค. เชชเชฐเช‚เชคเซ เชซเชฐเซ€เชฅเซ€, เชฎเชจเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชเชตเซ‹ เช…เชนเซ‡เชธเชพเชธ เชฅเชฏเซ‹ เชจ เชนเชคเซ‹ เช•เซ‡ เชนเซเช‚ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชฎเชพเช‚ เชนเชคเซ‹. เชฌเชงเซเช‚ เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ เช›เซ‡ - เชนเซเช‚ เชคเซ‡เชฎเชจเซ‡ เช•เชนเซเช‚ เช›เซเช‚, เชคเซ‡เช“ เชงเซเชฏเชพเชจเชฅเซ€ เชธเชพเช‚เชญเชณเซ‡ เช›เซ‡. เชชเชฐเช‚เชชเชฐเชพเช—เชค เชชเซเชฐเชถเซเชจ-เชœเชตเชพเชฌเชจเซเช‚ เชธเชคเซเชฐ เชชเชฃ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชœเซ‡เชตเซเช‚ เชจเชนเซ‹เชคเซเช‚; เชคเซ‡ เชธเซเชชเชทเซเชŸ เชนเชคเซเช‚ เช•เซ‡ เชชเซเชฐเชถเซเชจเซ‹ "เชกเซ‚เชฌเซ€ เชœเชตเชพ" เชฎเชพเชŸเซ‡ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชจ เชนเชคเชพ, เชชเชฐเช‚เชคเซ เชฎเชพเชฐเชพ เชชเซเชฐเซ‡เชเชจเซเชŸเซ‡เชถเชจเชฎเชพเช‚ เช–เชฐเซ‡เช–เชฐ เชฐเชธ เชงเชฐเชพเชตเชคเชพ เชชเซเชฐเชถเซเชจเซ‹ เชชเซ‚เช›เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ.

เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเชพ เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹ เชชเช›เซ€, เชฎเชจเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเชณเซเชฏเซ‹ - เชชเซเชฐเชธเซเชคเซเชคเชฟ เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เชนเชคเซ€ เช…เชจเซ‡ เชคเซ‡เช“เชจเซ‡ เชธเชพเช‚เชญเชณเชตเชพเชฎเชพเช‚ เช–เชฐเซ‡เช–เชฐ เช†เชจเช‚เชฆ เชฅเชฏเซ‹.

เชธเซเชŸเซ‡เชœ 3. เช‰เชคเซเชชเชพเชฆเชจ เช—เซเชฃเชตเชคเซเชคเชพ เช•เซ‹เชก

เชŸเซ‡เช•เซเชจเชฟเช•เชฒ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเซ‹ เช† เช›เซ‡เชฒเซเชฒเซ‹ เชคเชฌเช•เซเช•เซ‹ เช›เซ‡ เชเชตเซ€ เชšเซ‡เชคเชตเชฃเซ€ เช†เชชเซเชฏเชพ เชชเช›เซ€, เชฎเชจเซ‡ เช˜เชฐเซ‡ เช•เซ‹เชกเชจเซ‡ เช‰เชคเซเชชเชพเชฆเชจ-เชคเซˆเชฏเชพเชฐ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เชฒเชพเชตเชตเชพเชจเซเช‚ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชชเช›เซ€ เชธเชฎเซ€เช•เซเชทเชพ เชฎเชพเชŸเซ‡ เช•เซ‹เชก เชฎเซ‹เช•เชฒเซ‹ เช…เชจเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ‚ เชถเซ‡เชกเซเชฏเซ‚เชฒ เช•เชฐเซ‹ เชœเซ‡เชฎเชพเช‚ เช•เชพเชฐเซเชฏ เชฎเชพเชŸเซ‡เชจเซ€ เช†เชตเชถเซเชฏเช•เชคเชพเช“ เชฌเชฆเชฒเชพเชˆ เชœเชถเซ‡ เช…เชจเซ‡ เช•เซ‹เชก เชฌเชฆเชฒเชพเชถเซ‡. เชซเซ‡เชฐเชซเชพเชฐเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช†เช—เชณ เชœเซ‹เชคเชพเช‚, เชนเซเช‚ เช•เชนเซ€ เชถเช•เซเช‚ เช›เซเช‚ เช•เซ‡ เช•เซ‹เชก เชธเชฎเซ€เช•เซเชทเชพ เช†เช‚เช– เช†เชกเชพ เช•เชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชธเชฎเซ€เช•เซเชทเช•เซ‹เชจเซ‡ เช–เชฌเชฐ เชจเชฅเซ€ เชนเซ‹เชคเซ€ เช•เซ‡ เช‰เชฎเซ‡เชฆเชตเชพเชฐ เช•เชฏเชพ เชชเชฆ เชฎเชพเชŸเซ‡ เช…เชฐเชœเซ€ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซ‡, เชคเซ‡เช“ เชคเซ‡เชจเซ‹ เชธเซ€เชตเซ€ เชœเซ‹เชคเชพ เชจเชฅเซ€, เชคเซ‡เช“ เชคเซ‡เชจเซเช‚ เชจเชพเชฎ เชชเชฃ เชœเซ‹เชคเชพ เชจเชฅเซ€.

เชซเซ‹เชจเชจเซ€ เช˜เช‚เชŸเชกเซ€ เชตเชพเช—เซ€, เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชฎเซ‹เชจเชฟเชŸเชฐเชจเซ€ เชฌเซ€เชœเซ€ เชฌเชพเชœเซเช เช•เซ‡เชŸเชฒเชพเช• เชฒเซ‹เช•เซ‹ เชนเชคเชพ. เชฌเชงเซเช‚ เชชเซเชฐเชฅเชฎ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชœเซ‡เชตเซเช‚ เชœ เช›เซ‡: เชฎเซเช–เซเชฏ เชตเชธเซเชคเซ เช เช›เซ‡ เช•เซ‡ TDD เชตเชฟเชถเซ‡ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚, เชคเชฎเซ‡ เชถเซเช‚ เช•เชฐเซ‹ เช›เซ‹ เช…เชจเซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เช•เชนเซ‹. เชœเซ‹ เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเช‚ TDD เชจเซ€ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เช•เชฐเซ€ เชจเชฅเซ€, เชคเซ‹ เชนเซเช‚ เชคเซ‡เชจเซ‡ เชคเชฐเชค เชœ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเช‚ เช›เซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เช•เช‚เชชเชจเซ€เช“เชฎเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชคเชฎเชพเชฐเชพ เชœเซ€เชตเชจเชจเซ‡ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เชœเซ‹ เชคเชฎเชจเซ‡ เช—เชฎเซ‡ เชคเซ‹ เชคเชฎเชพเชฐเชพ เชคเชฃเชพเชตเชจเซเช‚ เชธเซเชคเชฐ เช˜เชŸเชพเชกเซ‡ เช›เซ‡. เชฏเชพเชฆ เชฐเชพเช–เซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เชญเซ‚เชฒ เชฎเชพเชŸเซ‡ เชกเชฟเชฌเช—เชฐ เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเชพเช—เชฒเชชเชฃเซ‡ เชถเซ‹เชงเชตเซเช‚ เชชเชกเซเชฏเซเช‚ เชœเซ‡ เชซเช•เซเชค เชฌเซเชฐเชพเช‰เชเชฐ เชฆเซเชตเชพเชฐเชพ เชœ เชชเซเชจเชƒเช‰เชคเซเชชเชพเชฆเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชธเชพเชฅเซ‡ เชชเซเชจเชƒเช‰เชคเซเชชเชพเชฆเชฟเชค เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€? เชนเชตเซ‡ เช•เชฒเซเชชเชจเชพ เช•เชฐเซ‹ เช•เซ‡ เชคเชฎเชพเชฐเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช†เชตเซ€ เชญเซ‚เชฒ เชชเช•เชกเชตเซ€ เชชเชกเชถเซ‡ - เชคเชฎเชจเซ‡ เชฅเซ‹เชกเชพ เช—เซเชฐเซ‡ เชตเชพเชณเชจเซ€ โ€‹โ€‹เช–เชพเชคเชฐเซ€ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. TDD เชธเชพเชฅเซ‡ เช†เชชเชฃเชจเซ‡ เชถเซเช‚ เชฎเชณเซ‡ เช›เซ‡? เช…เชฎเซ‡ เช•เซ‹เชก เชฌเชฆเชฒเซเชฏเซ‹ เช…เชจเซ‡ เช…เชฃเชงเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชนเชตเซ‡ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เชฒเชพเชฒ เชฅเชˆ เช—เชฏเชพ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เชˆ เชญเซ‚เชฒ เช›เซ‡ เชœเซ‡ เช†เชชเชฃเซ‡ เชชเซเชฐเชฅเชฎ เชตเช–เชค เชถเซ‹เชงเซ€ เชถเช•เชคเชพ เชจเชฅเซ€? เช เซ€เช• เช›เซ‡, เช…เชฎเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฒเซ‡เชจเชพเชฐเชพเช“เชจเซ‡ "เช…เชฐเซ‡เชฐเซ‡" เช•เชนเซ€เช เช›เซ€เช, Ctrl-Z เชฆเชฌเชพเชตเซ‹ เช…เชจเซ‡ เชจเชพเชจเชพ เชชเช—เชฒเชพเช“ เชฒเซ‡เชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‹. เช…เชจเซ‡ เชนเชพ, เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเชพเชฎเชพเช‚ TDD เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเช•เชพเชธ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ, เชงเซเชฏเซ‡เชฏ เชคเชฐเชซ เชœเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชตเชฟเช•เชธเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชคเชฎเชพเชฐเชพ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เช•เชพเชฏเชฎเซ€ เชงเซ‹เชฐเชฃเซ‡ เชฒเซ€เชฒเชพ เชนเซ‹เชฏ, เช…เชจเซ‡ เช…เชกเชงเชพ เชฆเชฟเชตเชธ เชฎเชพเชŸเซ‡ เชฒเชพเชฒ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ "เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชชเซเชทเซเช•เชณ เชฐเชฟเชซเซ‡เช•เซเชŸเชฐเชฟเช‚เช— เช›เซ‡." เช† เชฌเชฐเชพเชฌเชฐ เช เชœ เช•เซŒเชถเชฒเซเชฏ เช›เซ‡ เชœเซ‡เชฎ เช•เซ‡ เชœเชพเชณเชตเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เช•เซ‹เชก เชฒเช–เชตเชพ, เช…เชฅเชตเชพ เช‰เชคเซเชชเชพเชฆเช• เช•เซ‹เชก เชฒเช–เชตเชพ.

เชคเซ‡เชฅเซ€, เชคเชฎเชพเชฐเชพ เช•เซ‹เชกเชจเซ‡ เช•เซ‡เชŸเชฒเซ€ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชคเซ‡เชจเชพ เชชเชฐ เช†เชงเชพเชฐ เชฐเชพเช–เซ‡ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เช•เชˆ เชกเชฟเชเชพเช‡เชจ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹, เชคเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เชธเชฐเชณ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชพเชฐเชพ เชชเชฐเซ€เช•เซเชทเชฃเซ‹ เช•เซ‡เชŸเชฒเชพ เชธเชพเชฐเชพ เช›เซ‡.

เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเช›เซ€, เชฎเชจเซ‡ เชฅเซ‹เชกเชพ เช•เชฒเชพเช•เซ‹เชฎเชพเช‚ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเชณเซเชฏเซ‹. เช† เชคเชฌเช•เซเช•เซ‡, เชฎเชจเซ‡ เชธเชฎเชœเชพเชฏเซเช‚ เช•เซ‡ เชนเซเช‚ เชฒเช—เชญเช— เชชเชธเชพเชฐ เชฅเชˆ เช—เชฏเซ‹ เชนเชคเซ‹ เช…เชจเซ‡ เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชนเซเช‚ "เชซเชพเช‰เชฒเชฐเชจเซ‡ เชฎเชณเซเชฏเซ‹ เชจ เชนเชคเซ‹" เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เชฌเชนเซ เช“เช›เซเช‚ เชฌเชพเช•เซ€ เชนเชคเซเช‚.

เชธเซเชŸเซ‡เชœ 4. เช…เช‚เชคเชฟเชฎ. เชชเซ‚เชฐเชคเชพ เชคเช•เชจเซ€เช•เซ€ เชชเซเชฐเชถเซเชจเซ‹. เช…เชฎเซ‡ เชœเชพเชฃเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช เช•เซ‡ เชคเชฎเซ‡ เช•เซ‹เชฃ เช›เซ‹!

เชธเชพเชšเซเช‚ เช•เชนเซเช‚ เชคเซ‹, เชนเซเช‚ เชชเซเชฐเชถเซเชจเชจเซ€ เช† เชฐเชšเชจเชพเชฅเซ€ เช•เช‚เชˆเช• เช…เช‚เชถเซ‡ เชฎเซ‚เช‚เชเชตเชฃเชฎเชพเช‚ เชนเชคเซ‹. เชเช• เช•เชฒเชพเช•เชจเซ€ เชตเชพเชคเชšเซ€เชคเชฎเชพเช‚ เชคเชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเซ€ เชถเช•เชถเซ‹ เช•เซ‡ เชนเซเช‚ เช•เซ‡เชตเซ‹ เชตเซเชฏเช•เซเชคเชฟ เช›เซเช‚? เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชชเชฃ เชตเชงเซ, เชคเชฎเซ‡ เช† เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเซ€ เชถเช•เชถเซ‹ เชœเซเชฏเชพเชฐเซ‡ เชนเซเช‚ เชเชตเซ€ เชญเชพเชทเชพ เชฌเซ‹เชฒเซเช‚ เช›เซเช‚ เชœเซ‡ เชฎเชพเชฐเซ€ เชฎเชพเชคเซƒเชญเชพเชทเชพ เชจเชฅเซ€, เช…เชจเซ‡ เชธเชพเชšเซเช‚ เช•เชนเซเช‚ เชคเซ‹, เช–เซ‚เชฌ เชœ เช–เชฐเชพเชฌ เช…เชจเซ‡ เชœเซ€เชญ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒเซเช‚ เช›เซ‡. เช…เช—เชพเช‰เชจเชพ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชฎเชพเช‚, เชชเซเชฐเชถเซเชจเซ‹เชจเชพ เชœเชตเชพเชฌ เช†เชชเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชฐเซ€เชคเซ‡ เชตเชพเชค เช•เชฐเชตเซ€ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเชฐเชณ เชนเชคเซ€, เช…เชจเซ‡ เช‰เชšเซเชšเชพเชฐ เชฆเซ‹เชทเชฟเชค เชนเชคเซ‹. เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชฒเซ‡เชจเชพเชฐเชพเช“เชฎเชพเช‚ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซ‹ เชเช• เชเชถเชฟเชฏเชจ เชนเชคเซ‹ - เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‹ เช‰เชšเซเชšเชพเชฐ, เชธเชพเชฐเซเช‚, เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡, เชฏเซเชฐเซ‹เชชเชฟเชฏเชจ เช•เชพเชจ เชฎเชพเชŸเซ‡ เช•เช‚เชˆเช• เช…เช‚เชถเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เช›เซ‡. เชคเซ‡เชฅเซ€, เชฎเซ‡เช‚ เชเช• เชธเช•เซเชฐเชฟเชฏ เช…เชญเชฟเช—เชฎ เช…เชชเชจเชพเชตเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ - เชฎเชพเชฐเชพ เชตเชฟเชถเซ‡ เชเช• เชชเซเชฐเชธเซเชคเซเชคเชฟ เชคเซˆเชฏเชพเชฐ เช•เชฐเซ‹ เช…เชจเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เช† เชชเซเชฐเชธเซเชคเซเชคเชฟ เชธเชพเชฅเซ‡ เชฎเชพเชฐเชพ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเชพเชจเซ€ เช‘เชซเชฐ เช•เชฐเซ‹. เชœเซ‹ เชคเซ‡เช“ เชธเช‚เชฎเชค เชฅเชพเชฏ, เชคเซ‹ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เช“เช›เชพ เชชเซเชฐเชถเซเชจเซ‹ เชนเชถเซ‡; เชœเซ‹ เชคเซ‡เช“ เช“เชซเชฐเชจเซ‡ เชจเช•เชพเชฐเซ€ เช•เชพเชขเซ‡, เชคเซ‹ เชธเชพเชฐเซเช‚, เชฎเชพเชฐเชพ เชœเซ€เชตเชจเชจเชพ 3 เช•เชฒเชพเช• เชชเซเชฐเซ‡เชเชจเซเชŸเซ‡เชถเชจเชฎเชพเช‚ เชตเชฟเชคเชพเชตเซเชฏเชพ เช เชเชŸเชฒเซ€ เชŠเช‚เชšเซ€ เช•เชฟเช‚เชฎเชค เชจเชฅเซ€. เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชฐเชœเซ‚เช†เชคเชฎเชพเช‚ เชถเซเช‚ เชฒเช–เชตเซเช‚ เชœเซ‹เชˆเช? เชœเซ€เชตเชจเชšเชฐเชฟเชคเซเชฐ - เชคเซเชฏเชพเช‚ เชœเชจเซเชฎ, เชคเซ‡ เชธเชฎเชฏเซ‡, เชถเชพเชณเชพเชฎเชพเช‚ เช—เชฏเซ‹, เชฏเซเชจเชฟเชตเชฐเซเชธเชฟเชŸเซ€เชฎเชพเช‚เชฅเซ€ เชธเซเชจเชพเชคเช• เชฅเชฏเซ‹ - เชชเชฐเช‚เชคเซ เช•เซ‹เชฃ เชงเซเชฏเชพเชจ เช†เชชเซ‡ เช›เซ‡?

เชœเซ‹ เชคเชฎเซ‡ เชฅเซ‹เชŸเชตเชฐเซเช• เช•เชฒเซเชšเชฐ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚ เช—เซ‚เช—เชฒ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชคเชฎเชจเซ‡ เชฎเชพเชฐเซเชŸเชฟเชจ เชซเชพเช‰เชฒเชฐเชจเซ‹ เชเช• เชฒเซ‡เช– เชฎเชณเชถเซ‡ [https://martinfowler.com/bliki/ThreePillars.html] เชœเซ‡ 3 เชธเซเชคเช‚เชญเซ‹เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡: เชธเชธเซเชŸเซ‡เชจเซ‡เชฌเชฒ เชฌเชฟเชเชจเซ‡เชธ, เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชเช•เซเชธเซ‡เชฒเชจเซเชธ เช…เชจเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชจเซเชฏเชพเชฏ.

เชšเชพเชฒเซ‹ เชฎเชพเชจเซ€ เชฒเชˆเช เช•เซ‡ เชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชเช•เซเชธเซ‡เชฒเชจเซเชธ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชšเช•เชพเชธเชพเชฏเซ‡เชฒ เช›เซ‡. เชคเซ‡ เชŸเช•เชพเช‰ เชตเซเชฏเชตเชธเชพเชฏ เช…เชจเซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชจเซเชฏเชพเชฏ เชฌเชคเชพเชตเชตเชพเชจเซเช‚ เชฌเชพเช•เซ€ เช›เซ‡.

เชคเชฆเซเชชเชฐเชพเช‚เชค, เชฎเซ‡เช‚ เชชเช›เซ€เชจเชพ เชชเชฐ เชงเซเชฏเชพเชจ เช•เซ‡เชจเซเชฆเซเชฐเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚.

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชฎเซ‡เช‚ เชคเซ‡เชจเซ‡ เช•เชนเซเชฏเซเช‚ เช•เซ‡ เชถเชพ เชฎเชพเชŸเซ‡ เชฅเซ‹เชŸเชตเชฐเซเช•เซเชธ - เชฎเซ‡เช‚ เช•เซ‰เชฒเซ‡เชœเชฎเชพเช‚ เชฎเชพเชฐเซเชŸเชฟเชจ เชซเชพเช‰เชฒเชฐเชจเซ‹ เชฌเซเชฒเซ‹เช— เชตเชพเช‚เชšเซเชฏเซ‹, เชคเซ‡เชฅเซ€ เช•เซเชฒเซ€เชจ เช•เซ‹เชก เชฎเชพเชŸเซ‡ เชฎเชพเชฐเซ‹ เชชเซเชฐเซ‡เชฎ.

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‡ เชœเซเชฆเชพ เชœเซเชฆเชพ เช–เซ‚เชฃเชพเชฅเซ€ เชชเชฃ เชฐเชœเซ‚ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเซ‡เชฃเซ‡ เชฆเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชชเชฃ เชตเชฟเช•เชธเชพเชตเซเชฏเซเช‚ เชนเชคเซเช‚ เชœเซ‡ เชฆเชฐเซเชฆเซ€เช“เชจเชพ เชœเซ€เชตเชจเชจเซ‡ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡, เช…เชจเซ‡ เช…เชซเชตเชพเช“ เช…เชจเซเชธเชพเชฐ, เชเช• เชœเซ€เชต เชฌเชšเชพเชตเซเชฏเซ‹ เชนเชคเซ‹. เชฎเซ‡เช‚ เชฌเซ‡เช‚เช•เซ‹ เชฎเชพเชŸเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชชเชฃ เชตเชฟเช•เชธเชพเชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡เชฃเซ‡ เชจเชพเช—เชฐเชฟเช•เซ‹เชจเซเช‚ เชœเซ€เชตเชจ เชชเชฃ เชธเชฐเชณ เชฌเชจเชพเชตเซเชฏเซเช‚ เช›เซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชœเซ‹ เช† เชฌเซ‡เช‚เช•เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฆเซ‡เชถเชจเซ€ 70% เชตเชธเซเชคเซ€ เชฆเซเชตเชพเชฐเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡. เช† Sberbank เชตเชฟเชถเซ‡ เชจเชฅเซ€ เช…เชจเซ‡ เชฐเชถเชฟเชฏเชพ เชตเชฟเชถเซ‡ เชชเชฃ เชจเชฅเซ€.

เชฎเชพเชฐเชพ เชตเชฟเชถเซ‡ เชœเชพเชฃเชตเชพ เชฎเชพเช‚เช—เซ‹ เช›เซ‹? เชฌเชฐเชพเชฌเชฐ. เชฎเชพเชฐเซ‹ เชถเซ‹เช– เชซเซ‹เชŸเซ‹เช—เซเชฐเชพเชซเซ€ เช›เซ‡, เชเช• เชฏเชพ เชฌเซ€เชœเซ€ เชฐเซ€เชคเซ‡ เชนเซเช‚ เชฒเช—เชญเช— 10 เชตเชฐเซเชทเชฅเซ€ เชฎเชพเชฐเชพ เชนเชพเชฅเชฎเชพเช‚ เช•เซ…เชฎเซ‡เชฐเซ‹ เชชเช•เชกเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚, เชเชตเชพ เชซเซ‹เชŸเซ‹เช—เซเชฐเชพเชซเซเชธ เช›เซ‡ เชœเซ‡ เชฌเชคเชพเชตเชตเชพเชฎเชพเช‚ เชฎเชจเซ‡ เชฌเชนเซ เชถเชฐเชฎ เช†เชตเชคเซ€ เชจเชฅเซ€. เช‰เชชเชฐเชพเช‚เชค, เชเช• เชธเชฎเชฏเซ‡, เชฎเซ‡เช‚ เชฌเชฟเชฒเชพเชกเซ€เชจเชพ เช†เชถเซเชฐเชฏเชธเซเชฅเชพเชจเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ€: เชฎเซ‡เช‚ เชฌเชฟเชฒเชพเชกเซ€เช“เชจเซ‹ เชซเซ‹เชŸเซ‹ เชชเชพเชกเซเชฏเซ‹ เชœเซ‡เชจเซ‡ เช•เชพเชฏเชฎเซ€ เช˜เชฐเชจเซ€ เชœเชฐเซ‚เชฐ เชนเชคเซ€. เช…เชจเซ‡ เชธเชพเชฐเชพ เชซเซ‹เชŸเซ‹เช—เซเชฐเชพเชซเซเชธ เชธเชพเชฅเซ‡ เชฌเชฟเชฒเชพเชกเซ€ เชฎเซ‚เช•เชตเซ€ เช–เซ‚เชฌ เชธเชฐเชณ เช›เซ‡. เชฎเซ‡เช‚ เช•เชฆเชพเชš เชธเซ‹ เชฌเชฟเชฒเชพเชกเซ€เช“เชจเซ‹ เชซเซ‹เชŸเซ‹เช—เซเชฐเชพเชซ เช•เชฐเซเชฏเซ‹ เช›เซ‡ :)

เช…เช‚เชคเซ‡, เชฎเชพเชฐเซ€ 80% เชฐเชœเซ‚เช†เชค เชฌเชฟเชฒเชพเชกเซ€เช“เชฅเซ€ เชญเชฐเซ‡เชฒเซ€ เชนเชคเซ€.

เชชเซเชฐเซ‡เชเชจเซเชŸเซ‡เชถเชจ เชชเช›เซ€ เชคเชฐเชค เชœ, HR เช เชฎเชจเซ‡ เชชเชคเซเชฐ เชฒเช–เซเชฏเซ‹ เช•เซ‡ เชคเซ‡เชจเซ‡ เชนเชœเซ เชธเซเชงเซ€ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹เชจเซ€ เช–เชฌเชฐ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช†เช–เซ€ เช‘เชซเชฟเชธ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เชฌเชฟเชฒเชพเชกเซ€เช“เชฅเซ€ เชชเซเชฐเชญเชพเชตเชฟเชค เชนเชคเซ€.

เช†เช–เชฐเซ‡, เชฎเซ‡เช‚ เชชเซเชฐเชคเชฟเชธเชพเชฆเชจเซ€ เชฐเชพเชน เชœเซ‹เชˆ - เชฎเซ‡เช‚ เชเช• เชตเซเชฏเช•เซเชคเชฟ เชคเชฐเซ€เช•เซ‡ เชฆเชฐเซ‡เช•เชจเซ‡ เชธเช‚เชคเซเชทเซเชŸ เช•เชฐเซเชฏเชพ.

เชชเชฐเช‚เชคเซ เช…เช‚เชคเชฟเชฎ เชตเชพเชคเชšเซ€เชค เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเชšเช†เชฐเช เช•เซเชจเซ‡เชนเชชเซ‚เชฐเซเชตเช• เช•เชนเซเชฏเซเช‚ เช•เซ‡ เชธเชพเชฎเชพเชœเชฟเช• เชจเซเชฏเชพเชฏ เช–เซ‚เชฌ เชœ เชธเชพเชฐเซ‹ เช…เชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเชฎเชพเชฎ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช†เชตเชพ เชจเชฅเซ€. เช…เชจเซ‡ เชคเซ‡เชฃเซ‡ เชชเซ‚เช›เซเชฏเซเช‚ เช•เซ‡ เชถเซเช‚ เชคเซ‡ เชฎเชจเซ‡ เชกเชฐเชพเชตเซ‡ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชนเซเช‚ เชธเชพเชฎเชพเชœเชฟเช• เชจเซเชฏเชพเชฏ เชธเชพเชฅเซ‡ เชฅเซ‹เชกเซ‹ เช“เชตเชฐเชฌเซ‹เชฐเซเชก เช—เชฏเซ‹, เชคเซ‡ เชฅเชพเชฏ เช›เซ‡ :)

เชชเชฐเชฟเชฃเชพเชฎ

เชชเชฐเชฟเชฃเชพเชฎเซ‡, เชนเซเช‚ เชฅเซ‹เชกเชพ เชฎเชนเชฟเชจเชพเช“เชฅเซ€ เชธเชฟเช‚เช—เชพเชชเซ‹เชฐเชฎเชพเช‚ เชฅเซ‹เชŸเชตเชฐเซเช•เชธเชฎเชพเช‚ เช•เชพเชฎ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚, เช…เชจเซ‡ เชนเซเช‚ เชœเซ‹เช‰เช‚ เช›เซเช‚ เช•เซ‡ เช…เชนเซ€เช‚ เช˜เชฃเซ€ เชฌเชงเซ€ เช•เช‚เชชเชจเซ€เช“ เชธเซเชชเซเชฐเชฟเช‚เช— เช•เชฐเชคเชพเช‚ เชตเชงเซ เชœเซเชžเชพเชจ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เช•เซ‹เชกเชฟเช‚เช— เชฎเชพเชŸเซ‡ เชชเชพเช‚เชฆเชกเชพ เช…เชจเซ‡ เชตเซเชนเชพเช‡เชŸเชฌเซ‹เชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ Google เชคเชฐเชซเชฅเซ€ โ€œเชถเซเชฐเซ‡เชทเซเช  เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธโ€ เช…เชชเชจเชพเชตเซ€ เชฐเชนเซ€ เช›เซ‡. Symfony, RubyOnRails ( เชœเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡ เชคเซ‡ เชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเซ‹) เช•เชพเชฐเซเชฏเชฎเชพเช‚ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€. เชเชจเซเชœเซ€เชจเชฟเชฏเชฐเซ‹ "เชคเซˆเชฏเชพเชฐเซ€" เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชนเซ‡เชฒเชพเช‚ เชเช• เช…เช เชตเชพเชกเชฟเชฏเชพเชจเซ€ เชฐเชœเชพ เชฒเซ‡ เช›เซ‡.

เชฅเซ‹เชŸเชตเชฐเซเช•เชฎเชพเช‚, เช‰เชฎเซ‡เชฆเชตเชพเชฐ เชฎเชพเชŸเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹ เช‰เชชเชฐเชพเช‚เชค, เชจเซ€เชšเซ‡เชจเชพ เชธเชฟเชฆเซเชงเชพเช‚เชคเซ‹ เชฎเซ‹เช–เชฐเซ‡ เช›เซ‡:
เชฎเซเชฒเชพเช•เชพเชคเชจเซ‹ เช†เชจเช‚เชฆ. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชฌเช‚เชจเซ‡ เชชเช•เซเชทเซ‹ เชฎเชพเชŸเซ‡. เช–เชฐเซ‡เช–เชฐ, เชœเซ‹ เชคเชฎเซ‡ เชถเซเชฐเซ‡เชทเซเช  เช•เชฐเซเชฎเชšเชพเชฐเซ€เช“ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹ (เช…เชจเซ‡ เช•เซ‹เชฃ เชจเชฅเซ€?), เชคเซ‹ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เช เชฌเชœเชพเชฐ เชจเชฅเซ€ เชœเซเชฏเชพเช‚ เช—เซเชฒเชพเชฎเซ‹เชจเซ€ เชชเชธเช‚เชฆเช—เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชเช• เชถเซ‹ เชœเซเชฏเชพเช‚ เชเชฎเซเชชเซเชฒเซ‹เชฏเชฐ เช…เชจเซ‡ เช‰เชฎเซ‡เชฆเชตเชพเชฐ เชฌเช‚เชจเซ‡ เชเช•เชฌเซ€เชœเชพเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเซ‡ เช›เซ‡. เช…เชจเซ‡ เชœเซ‹ เช‰เชฎเซ‡เชฆเชตเชพเชฐ เช•เซ‹เชˆ เช•เช‚เชชเชจเซ€ เชธเชพเชฅเซ‡ เชธเซเช–เชฆ เชฒเชพเช—เชฃเซ€เช“เชจเซ‡ เชธเชพเช‚เช•เชณเซ‡ เช›เซ‡, เชคเซ‹ เชธเช‚เชญเชต เช›เซ‡ เช•เซ‡ เชคเซ‡ เช† เชšเซ‹เช•เซเช•เชธ เช•เช‚เชชเชจเซ€ เชชเชธเช‚เชฆ เช•เชฐเชถเซ‡.

เชชเซ‚เชฐเซเชตเช—เซเชฐเชน เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชนเซเชตเชฟเชง เช‡เชจเซเชŸเชฐเชตเซเชฏเซเช…เชฐ. เชฅเซ‹เชŸเชตเชฐเซเช•เซเชธเชฎเชพเช‚, เชชเซ‡เชฐ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช— เช เชนเช•เซ€เช•เชคเชฎเชพเช‚ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช›เซ‡. เช…เชจเซ‡ เชœเซ‹ เช† เชชเซเชฐเชฅเชพ เช…เชจเซเชฏ เชตเชฟเชธเซเชคเชพเชฐเซ‹เชฎเชพเช‚ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เชพเชฏ, เชคเซ‹ TW เชคเซ‡เชฎ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡. เชฆเชฐเซ‡เช• เชคเชฌเช•เซเช•เซ‡, เช‡เชจเซเชŸเชฐเชตเซเชฏเซ 2 เชฒเซ‹เช•เซ‹ เชฆเซเชตเชพเชฐเชพ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช†เชฎ, เชฆเชฐเซ‡เช• เชตเซเชฏเช•เซเชคเชฟเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ 8 เชฒเซ‹เช•เซ‹ เชฆเซเชตเชพเชฐเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช…เชจเซ‡ TW เชตเชฟเชตเชฟเชง เชชเซƒเชทเซเช เชญเซ‚เชฎเชฟ, เชตเชฟเชตเชฟเชง เชฆเชฟเชถเชพเช“ (เชฎเชพเชคเซเชฐ เชคเช•เชจเซ€เช•เซ€ เชœ เชจเชนเซ€เช‚) เช…เชจเซ‡ เชฒเชฟเช‚เช— เชธเชพเชฅเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซเช…เชฐ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡.

เช†เช–เชฐเซ‡, เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ 8 เชฒเซ‹เช•เซ‹เชจเชพ เช…เชญเชฟเชชเซเชฐเชพเชฏเซ‹เชจเชพ เช†เชงเชพเชฐเซ‡ เชญเชฐเชคเซ€เชจเซ‹ เชจเชฟเชฐเซเชฃเชฏ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡, เช…เชจเซ‡ เช•เซ‹เชˆเชจเซ€ เชชเชพเชธเซ‡ เช•เชพเชธเซเชŸเชฟเช‚เช— เชตเซ‹เชŸ เชจเชฅเซ€.

เชตเชฟเชถเซ‡เชทเชคเชพ เช†เชงเชพเชฐเชฟเชค เชญเชฐเชคเซ€ เช‰เชฎเซ‡เชฆเชตเชพเชฐเชจเซ€ เชชเชธเช‚เชฆ เช…เชฅเชตเชพ เชจเชพเชชเชธเช‚เชฆเชจเชพ เช†เชงเชพเชฐเซ‡ เชจเชฟเชฐเซเชฃเชฏ เชฒเซ‡เชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, เชฆเชฐเซ‡เช• เชญเซ‚เชฎเชฟเช•เชพ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เชคเชฌเช•เซเช•เชพ เชฎเชพเชŸเซ‡ เชเช• เชซเซ‹เชฐเซเชฎ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“เชจเซ‹ เชธเชฎเชพเชตเซ‡เชถ เชฅเชพเชฏ เช›เซ‡. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชšเซ‹เช•เซเช•เชธ เช•เซเชถเชณเชคเชพเชฎเชพเช‚ เช…เชจเซเชญเชต เชจเชนเซ€เช‚, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพเชจเซ€ เช–เซ‚เชฌ เชญเชฒเชพเชฎเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช†เชฎ, เชœเซ‹ เช‰เชฎเซ‡เชฆเชตเชพเชฐ TDD เชœเซ‡เชตเซ€ เช•เซ‹เชˆเชชเชฃ เช•เซเชถเชณเชคเชพ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชจ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡เชฎ เช›เชคเชพเช‚ เชคเซ‡ เชคเซ‡เชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‹ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช— เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซ‹ เชคเซ‡ เช…เช‚เช—เซ‡เชจเซ€ เชธเชฒเชพเชน เชธเชพเช‚เชญเชณเซ‡ เช›เซ‡, เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชฆเชฐเซ‡เช• เชคเช• เช›เซ‡.

เชถเชฟเช•เซเชทเชฃ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐเซ‹ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€ TW เชจเซ‡ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ เชธเชพเชฏเชจเซเชธเชฎเชพเช‚ เช•เซ‹เชˆ เชชเซเชฐเชฎเชพเชฃเชชเชคเซเชฐ เช…เชฅเชตเชพ เชถเชฟเช•เซเชทเชฃเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชฎเชพเชคเซเชฐ เช•เซเชถเชณเชคเชพเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชตเชฟเชฆเซ‡เชถเซ€ เช•เช‚เชชเชจเซ€เช“ เชธเชพเชฅเซ‡ เชฎเชพเชฐเซ‹ เช† เชชเชนเซ‡เชฒเซ‹ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เช›เซ‡ เชœเซ‡เชจเชพ เชฎเชพเชŸเซ‡ เชฎเชพเชฐเซ‡ เชคเซˆเชฏเชพเชฐเซ€ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€. เชฆเชฐเซ‡เช• เชคเชฌเช•เซเช•เชพ เชชเช›เซ€, เชนเซเช‚ เชฅเชพเช• เช…เชจเซเชญเชตเชคเซ‹ เชจ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเชพเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชฎเชจเซ‡ เช†เชจเช‚เชฆ เชฅเชฏเซ‹ เช•เซ‡ เชนเซเช‚ เชถเซเชฐเซ‡เชทเซเช  เชชเซเชฐเซ‡เช•เซเชŸเชฟเชธ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เซเช‚ เช›เซเช‚, เช•เซ‡ เชฎเซ‹เชจเชฟเชŸเชฐเชจเซ€ เชฌเซ€เชœเซ€ เชฌเชพเชœเซเชจเชพ เชฒเซ‹เช•เซ‹เช เชคเซ‡เชจเซ€ เชชเซเชฐเชถเช‚เชธเชพ เช•เชฐเซ€ เช…เชจเซ‡ เชฆเชฐเชฐเซ‹เชœ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเชฏเซ‹.

เช˜เชฃเชพ เชฎเชนเชฟเชจเชพเช“ เชชเช›เซ€, เชนเซเช‚ เช•เชนเซ€ เชถเช•เซเช‚ เช›เซเช‚ เช•เซ‡ เชฎเชพเชฐเซ€ เช…เชชเซ‡เช•เซเชทเชพเช“ เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชชเซ‚เชฐเซเชฃ เชฅเชˆ เชนเชคเซ€. เชฅเซ‹เชŸเชตเชฐเซเช• เชจเชฟเชฏเชฎเชฟเชค เช•เช‚เชชเชจเซ€เชฅเซ€ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฒเช— เช›เซ‡? เชจเชฟเชฏเชฎเชฟเชค เช•เช‚เชชเชจเซ€เชฎเชพเช‚ เชคเชฎเซ‡ เชธเชพเชฐเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“ เช…เชจเซ‡ เชธเชพเชฐเชพ เชฒเซ‹เช•เซ‹ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ TW เชฎเชพเช‚ เชคเซ‡เชฎเชจเซ€ เชเช•เชพเช—เซเชฐเชคเชพ เชšเชพเชฐเซเชŸเชจเซ€ เชฌเชนเชพเชฐ เช›เซ‡.

เชœเซ‹ เชคเชฎเชจเซ‡ เชฅเซ‹เชŸเชตเชฐเซเช•เซเชธเชฎเชพเช‚ เชœเซ‹เชกเชพเชตเชพเชฎเชพเช‚ เชฐเชธ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เช…เชฎเชพเชฐเซ€ เช“เชชเชจ เชชเซ‹เชเชฟเชถเชจ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚
เชนเซเช‚ เชฐเชธเชชเซเชฐเชฆ เช–เชพเชฒเซ€ เชœเช—เซเชฏเชพเช“ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเชตเชพเชจเซเช‚ เชชเชฃ เชธเซ‚เชšเชจ เช•เชฐเซเช‚ เช›เซเช‚:
เชฒเซ€เชก เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐ: เชœเชฐเซเชฎเชจเซ€, เชฒเช‚เชกเชจ, เชฎเซ‡เชกเซเชฐเชฟเชก, ะกะธะฝะณะฐะฟัƒั€
เชตเชฐเชฟเชทเซเช  เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐ: เชธเชฟเชกเชจเซ€, เชœเชฐเซเชฎเชจเซ€, เชฎเชพเชจเซเชšเซ‡เชธเซเชŸเชฐ, เชฌเซ‡เช‚เช—เช•เซ‹เช•
เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐ: เชธเชฟเชกเชจเซ€, เชฌเชพเชฐเซเชธเชฟเชฒเซ‹เชจเชพ, เชฎเชฟเชฒเชพเชจ
เชตเชฐเชฟเชทเซเช  เชกเซ‡เชŸเชพ เชเชจเซเชœเชฟเชจเชฟเชฏเชฐ: เชฎเชฟเชฒเชพเชจ
เช—เซเชฃเชตเชคเซเชคเชพ เชตเชฟเชถเซเชฒเซ‡เชทเช•: เชœเชฐเซเชฎเชจเซ€ เชšเชพเช‡เชจเชพ
เชˆเชจเซเชซเซเชฐเชพเชธเซเชŸเซเชฐเช•เซเชšเชฐ: เชœเชฐเซเชฎเชจเซ€, เชฒเช‚เชกเชจ, เชšเชฟเชฒเซ€
(เชนเซเช‚ เชคเชฎเชจเซ‡ เชชเซเชฐเชพเชฎเชพเชฃเชฟเช•เชชเชฃเซ‡ เชšเซ‡เชคเชตเชฃเซ€ เช†เชชเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ เช•เซ‡ เชฒเชฟเช‚เช• เช เชเช• เชฐเซ‡เชซเชฐเชฒ เชฒเชฟเช‚เช• เช›เซ‡, เชœเซ‹ เชคเชฎเซ‡ TW เชชเชฐ เชœเชถเซ‹, เชคเซ‹ เชฎเชจเซ‡ เชเช• เชธเชฐเชธ เชฌเซ‹เชจเชธ เชฎเชณเชถเซ‡). เชคเชฎเชจเซ‡ เช—เชฎเชคเซ€ เช“เชซเชฟเชธ เชชเชธเช‚เชฆ เช•เชฐเซ‹, เชคเชฎเชพเชฐเซ‡ เชคเชฎเชพเชฐเซ€ เชœเชพเชคเชจเซ‡ เชฏเซเชฐเซ‹เชช เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชฐเชพเช–เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เช›เซ‡เชตเชŸเซ‡, เชฆเชฐ 2 เชตเชฐเซเชทเซ‡ TW เชคเชฎเชจเซ‡ เชฌเซ€เชœเชพ เชฆเซ‡เชถเชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช–เซเชถ เชฅเชถเซ‡, เช•เชพเชฐเชฃ เช•เซ‡... เช† เชฅเซ‹เชŸเชตเชฐเซเช• เชจเซ€เชคเชฟเชจเซ‹ เชเช• เชญเชพเช— เช›เซ‡, เชคเซ‡เชฅเซ€ เชธเช‚เชธเซเช•เซƒเชคเชฟเชจเซ‹ เชซเซ‡เชฒเชพเชตเซ‹ เช…เชจเซ‡ เชเช•เชฐเซ‚เชช เชฅเชพเชฏ เช›เซ‡.

เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชชเซเชฐเชถเซเชจเซ‹ เชชเซ‚เช›เชตเชพ เชฎเชพเชŸเซ‡ เชฎเชซเชค เชฒเชพเช—เซ‡ เช…เชฅเชตเชพ เชฎเชจเซ‡ เชญเชฒเชพเชฎเชฃเซ‹ เชฎเชพเชŸเซ‡ เชชเซ‚เช›เซ‹.
เชœเซ‹ เชตเชฟเชทเชฏ เชฐเชธเชชเซเชฐเชฆ เชฒเชพเช—เชคเซ‹ เชนเซ‹เชฏ, เชคเซ‹ เชนเซเช‚ ThoughtWorks เชชเชฐ เช•เชพเชฎ เช•เชฐเชตเชพ เชœเซ‡เชตเซเช‚ เชถเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชธเชฟเช‚เช—เชพเชชเซ‹เชฐเชฎเชพเช‚ เชœเซ€เชตเชจ เช•เซ‡เชตเซเช‚ เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡ เชฒเช–เซ€เชถ.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹