ืืื ืื ืื ื ืจืื ืื ืืืืจ ืฉืืืฉืจ ืืชื ืขืืื ืืืืืืฃ ืืงืื ืขืืืื ืืขืืื ืืฆืืจื ืืขืืืจ ืจืืืื, ืืืืจ ืืจืืฉืื ืฉืืชื ืืืฉื ืืื "ืืชื ืฆืจืื ืืืชืืื ื ืืจืืืื". ืคืชืจื ืืขืืืช ื-HackerRank, ืงืจืื ืงืจืืง ืืช ืจืืืื ืืงืืืื, ืฉื ื ืืืฆื ArrayList ืขืืื ืืืืฆื ืืื ืฉืื ื ื-LinkedList. ืื ืื, ืืืื ืื ืื ืืฉืืื ืขื ืืืื, ืืื ืืืืื ืืืื ืื ืืงืฆืืขื ืืืืจ ืฉืืืื ืืืืจ ืืืื ืืื ืื ืจืื ืืืืืจื ืืืืื ืืืืชืจ.
ืืื ืจืืข, ืืชื ืืชืื ืช 8 ืฉืขืืช ืืืื, ืคืืชืจ ืืขืืืช ืืขื ืืื ืืช ืืื ืืจืืืืืืืืืช, ืืืขืืืื ืืืืฉื ืฉืื ืชืขืฉื ืืช ืืืชื ืืืืจ, ืคืืืก ืืื ืืก. ืืื ืืื ืืืช, ืืื ืืขืืืจ ืจืืืื, ืืชื ืฆืจืื ืืืืฉืื ืืืชืืื ื ืื ืืกืฃ, ืืคืืื ืื ืืืื ืืช ืืืืฉืืจืื ืืืืืืืืืื ืฉืื, ืืื ืืืืื ืืฉืื ืฉืื ืืืืช ืฆืจืื ืืขืืืื ืื ืืืืืช ืฉืื ืืกืืืจ ืืื ืื ืฉืื ืชืฆืืจื ืืขืืืื ืืืื ืฉืื. ืืืชื ืืืืืืช ืฉืื ืฉืืืขื ืืืืฉื ืื ืืื ืฉืื ื, ืืื ืชืขืืจ ืืืชื ื ืืืืฆืข ืืืืื, ืื ืื ื ืืืืืืื ืืืชืื ืืขืื ืืื ืขืฆืืืืช ืขื ืฆืืคืืช ืืืื ืืจืืืื ืฉื ืขืฅ ืืืื ืืืืืจ ืืืืจื, ืื ื ืืขื ื ืฉืื ืืงืื ืขืืืื ืืงืจืงืก, ืืืขืืงืจ ืฉืื ืืืจืืง ืืืื ืืืืืง ืื - ืื ืืืื ืื, ืื ื ืืกืืื. ืืืืื ืืช ืื ืฆืจืืื ืืืืืืง.
ืืื ืืื ืืืืืง ืืืืื ืืืืช ืฉืืื ื ืจืืืื ืืืืช ืืขืืืื ืื ืืืืืช ืฉืื? ืจืง ืืืื ืฉืื ืืคื ืืืืคื ืชื? ืื ืืืื ืขืืฉื ืืช ืื? ืื ืืืื ืฉืจืืฉ ืืฆืืืช ืืขืชืืื ืฉืื ืืื ืฆืจืื ืืืืื ืืช ืื ืฉืืืืช ืืืืื ืืคื ื ืืจืืืื ืืืขืช ืืื ืืืืื ืฉ"ืื ืืชืื ืช ืืื ืืืื ืืืขืช ืืขื ืคื ืืช ืืืืฉืื ืฉื ืืฆืืืช ืคืืื ืืจืื ืืืืจืืืช".
ืืืื, ืืชื ืื ืืืื (ื). ืื ืฉืืืื ืืืืื ืืืจืฉืืช ืืขืฆืื, ืืืจืืช ืจืืืืืช ืื ืืืืืืช. ืืืื, ืืืืจ ืฉื ืืชืื ืืช ืื ืชืื ืื ืฉื ืขืืืืื, ืืืืขื ืืืกืงื ื ืฉืืื ืืกืื ืืขืื ืจืงืข ืืืืืืคืืืื ืืืืื ืืืชืืืืืืช ืขื ืืืฉืืืืช ืืกืคืฆืืคืืืช ืฉืื. ืืชืจื ืืื, ืขื ืืื ืขืืฆืื ืชืืืื ืืืืืจื ืฉืืื, ืื ืืืืืื ืืืจืฉืืช ืืขืฆืื ืืงืืช ืืช ืืกืืืื ืฉืื ืขืืืืื ืื ืืฉืืืจ ืืื ืืื ืืกืื ืืืืื ืื ืื ืื ืืืืืื ืืคืฆื ืืขืืืช ืืชืืืืืช ืืงืืืช. ืืื ืื ืื ืืขืื ืขืืืจื, ืืฉ ืืจืื ืื ืฉืื ืฉืจืืฆืื ืืขืืื ืืืืื, ืืชืคืงืื ืืืกืืจ.
ืขืืฉืื ืืืื ื ืกืชืื ืืืืืื, ืืื ืืื ืืืฉืจื ืฉืืื ืืืื ืืกืื ืฉืจืืฆืื ืืขืืื ืืฆืืื ืขืืืื ืื ืืงืืื ืืื ื ืืืืืื, ืืืืคืชืืื ืฉืืื ืืืคืฉืื ืืขืชืื ืงืจืืืืช ืืืชืจ ื-stackoverflow ืื ืฆืจืื ืืืชืงืื ืืช ืืขืจืช ืืืืื ืืืื, ืืืงืื ืืช ืืืืจืืืืืืช ืฉื ืืืืืจืืชืื ืืืจืื, ืื, ืื ืจืื, ืืืืข ืืืื ืฉืชืืฉืื ืื ืขืืื ืืืขืชืืง ืืช ืืืื.
ืืืื, ืื ืืคืขื ืืืื ื ืืฉืื ืืื ืกืืคืงื ืชืฉืืื, ืื ืขืืื ืืขืฉืืช? ืืืงื ืืืืืง ืื ืืขืฉื ืืืคืชื ืืขืืืื. ืื ืืชื ืืขืจืื ืืฆื ืืคืชืืื?
ืฆืืจ ืงืจืืืจืืื ืื ืืื ืืชื ืจืืฆื ืืืขืกืืง ืืคืชื ืืืื ืื ืฉืืืืงืื ืืืืืง ืืช ืืืืืื ืืืืช ืืืื.
ThoughtWorks
ืื ืืงืฉืจ ืฉื ThoughtWorks ืืื? ืืื ืืฆืืชื ืืืืื ืืจืืืื ืืืืื ืืขืฆืื. ืื ืื ThoughtWorks? ืืงืืฆืืจ, ืืืืืจ ืืืืจืช ืืืขืืฅ High-End ืขื ืืฉืจืืื ืืื ืืขืืื, ืืกืื, ืกืื ืืคืืจ ืืขื ืืืฉืืช ืืืจืืงื, ืืฉืจ ืืืืขืฆืช ืืชืืื ืืคืืชืื ืืื ื-25 ืฉื ื, ืืขืืช ืืืืืช Science ืืฉืื, ืืจืืฉืืช ืืจืืื. ืคืืืืจ. ืื ืืชื ืืืคืฉ ืจืฉืืื ืฉื 10 ืกืคืจื ืืืื ืืืื ืืก ืชืืื ื, ืื ืืืื 2-3 ืืื ืืืืชืื ืขื ืืื ืืืืจ'ื ื-ThoughtWorks, ืืื Refactoring ืืืช Martin Fowler ื- Building Microservices: Designing Fine-Grained Systems ืืืช ืกื ื ืืืื ืื ืื ืืื ืืจืืืืงืืืจืืช ืืืืืืฆืืื ืืืช
ืืืช ืคืืจืืง ืงืืื, ืจืืงื ืคืจืกืื ืก, ื ืื ืคืืจื.
ืขืกืงืื ืฉื ืืืืจื ืื ืื ืขื ืืชื ืฉืืจืืชืื ืืงืจืื ืืืื, ืื ืืืงืื ืืฉืื ืขื ืืืืืช ืคื ืืื ืืืช, ืืืืจืืืช ืืืืืืืืช, ืกืื ืืจืืื ืคื ืืืืื ืืืืืื ืืื ืฉืื. ืืื, ืืขืกืงืช ืืื ืฉืื ืื ืืื ืื ืืื ืืืื ืืช ืืื.
ืืืื ืกืื ืฉื ืื ืฉืื ืฆืืืงืื? ืืืืื, ืืฉื ื ืฉืื ืื ืขืืืจ ืื ืืื. ThoughtWorks ืงืืขื ืฉืืงืจืืืจืืื ืื ืืืฉืืืื ืืืืชืจ ืืืืื ืืขืกืงื ืฉื ืืืคืชืืื ืฉืืื ืื:
- ืืืืืช ืืืชืคืชื ืืืืืืช. ืื ืืืืืช, ืื ื ืืกืืื ืื ืืืืื ืืช. ืืฃ ืืื ืื ืืฆืคื ืฉืื ืฉืื ืฉืืชืจืืืื ืชืื ืืช ืืืืืืช ืืืจ 5 ืฉื ืื ืืืืขื. ืืื ืืืืืช ืคืชืื ืืืขืืช ืฉื ืื ืฉืื ืืืจืื ืืืืงืฉืื ืืื ืืืืื ืืช ืืืจืืืช.
- ืืืืืช ืืชืืืช ืืืื ืื, ืืืืืคื ืืืืืืื ืืชืจืื TDD
- ืืืืื SOLID ื- OOP ืืืืืืช ืืกืืื ืืืืฉื ืืืชื.
- ืืฆื ืืช ืืขืชื. ืืืืขืฅ, ืืชื ืฆืจืื ืืขืืื ืขื ืืืคืชืืื ืฉื ืืืงืื, ืขื ืืืขืฆืื ืืืจืื, ืืืื ืืจืื ืชืืขืืช ืื ืืื ืืืืข ืืขืฉืืช ืืฉืื ืืื, ืืื ืืืืจื ืื ืืกืืื ืืืขืืืจ ืืืชื ืืฉืืจ ืืฆืืืช.
ืืขืช ืืฉืื ืืืขืจืื ืืช ืืืืืื ืืืืช ืืืกืืืืืช ืืืื ืืฆื ืืืืขืื. ืืืื ืื ื ืจืืฆื ืืืืจ ืขื ืืืืืื ืฉืื ืืจืืืื ืืช ื-ThoughtWorks. ืื ื ืืืื ืืื ืฉื ืกืขืชื ืืกืื ืืคืืจ ืืขืืจืชื, ืืื ืชืืืื ืืืืืก ืืืืื ืืื ืืืื ืฉืื ื ืืืจืื ืืืืื ื ืืืืื ื.
ืฉืื 0. HR
ืืคื ืฉืงืืจื ืืขืชืื ืงืจืืืืช, ืจืืืื ืื 20 ืืงืืช ืขื ืืฉืืื ืื ืืฉ. ืื ื ืื ืืชืขืื ืขื ืื, ืื ื ืจืง ืืืื ืฉืืขืืื ืื ืคืืฉืชื ืืืฉ ืืฉืืื ืื ืืฉ ืฉืืืื ืืืืจ ืืืฉื 15 ืืงืืช ืขื ืชืจืืืช ืืคืืชืื ืืืืจื, ืืื ืื ืืฉืชืืฉืื ื-TDD, ืืื ืชืื ืืช ืืืืืืช. ืืืจื ืืื, ืื ืฉื ืืฉืืื ืื ืืฉ ืืชืืืืืื ืืฉืืื ืื ืืืืืจืื ืฉืืชืืืื ืฉืืื ื ืืจืืื: ืืคืชืืื ืืคืชืืื, ืืืืงืื ืืืืงืื, ืื ืืืื ื ืืืืื.
ืฉืื 1. ืืื ืืื ืืชื ื-OOP, TDD?
1.5 ืฉืขืืช ืืคื ื ืชืืืืช ืืจืืืื, ื ืฉืืื ืืืื ืืฉืืื ืืืืื ืกืืืืืืืจ ืฉื Mars Rover.
ืืฉืืืช ืจืืืจ ืืืืืืืืืืืช ืจืืืจืื ืจืืืืืื ืืืืจื ืืืืืช ื ืืืชื ืขื ืืื ื ืืก"ื ืขื โโืจืื ืขื ืืืืื. ืืจืื ืืื, ืฉืืื ืืืื ืืช ืืฆืืจื ืืืืจื, ืืืืืช ืื ืืื ืขื ืืื ืืจืืืจืื ืืื ืฉืืืฆืืืืช ืืืฉืืืืืช ืฉืืื ืืืืื ืืงืื ืชืฆืืื ืืืื ืฉื ืืฉืื ืฉืืกืืื ืืื ืืฉืืื ืืืืจื ืืืืืจ ืืืจืฅ. ืืืงืืื ืืืืงืืื ืฉื ืจืืืจ ืืืืฆืืื ืขื ืืื ืฉืืืื ืฉื ืงืืืืจืืื ืืืช x ื-y ืืืืช ืืืืืฆืืช ืืืช ืืืจืืข ื ืงืืืืช ืืืฆืคื ืืงืจืืื ืืืืช. ืืจืื ืืืืืงืช ืืจืฉืช ืืื ืืคืฉื ืืช ืื ืืืื. ืืืงืื ืืืืืื ืืืื ืืืืืช 0, 0, N, ืืืืืจ ืืจืืืจ ื ืืฆื ืืคืื ื ืืฉืืืืืช ืืชืืชืื ื ืืคืื ื ืืฆืคืื. ืขื ืื ืช ืืฉืืื ืขื ืจืืืจ, ื ืืก"ื ืฉืืืืช ืืืจืืืช ืืืชืืืช ืคืฉืืื. ืืืืชืืืช ืืืคืฉืจืืืช ืื 'L', 'R' ื-'M'. 'L' ื-'R' ืืืจืืื ืืจืืืจ ืืืกืชืืื 90 ืืขืืืช ืฉืืืื ืื ืืืื ื ืืืชืืื, ืืืื ืืืื ืืืืงืื ืื ืืืื ืฉืื. 'M' ืคืืจืืฉื ืื ืืข ืงืืืื ื ืงืืืช ืจืฉืช ืืืช, ืืืฉืืืจ ืขื ืืืชื ืืืชืจืช.
ื ื ืื ืฉืืจืืืืข ืืฉืืจืืช ืืฆืคืื (x, y) ืืื (x, y+1).
ืงึถืึถื:
ืงื ืืงืื ืืจืืฉืื ืืื ืืงืืืืจืืื ืืืช ืืืื ืืช ืืขืืืื ื ืฉื ืืจืื, ืืื ืื ืืื ืฉืืงืืืืจืืื ืืืช ืืฉืืืืืช ืืชืืชืื ื ืื 0,0.
ืฉืืจ ืืงืื ืืื ืืืืข ืื ืืืข ืืจืืืจืื ืฉื ืคืจืกื. ืืื ืจืืืจ ืืฉ ืฉื ื ืงืืื ืงืื. ืืฉืืจื ืืจืืฉืื ื ื ืืชื ืช ืืช ืืืงืืื ืฉื ืืจืืืจ, ืืืฉืืจื ืืฉื ืืื ืืื ืกืืจื ืฉื ืืืจืืืช ืืืกืคืจืืช ืืจืืืจ ืืืฆื ืืืงืืจ ืืช ืืจืื. ืืืืงืื ืืืจืื ืืฉื ื ืืกืคืจืื ืฉืืืื ืืืืืช ืืืคืจืืื ืืจืืืืื, ืืชืืืืื ืืงืืืืจืืื ืืืช x ื-y ืืืืืืื ืืจืืืจ.
ืื ืจืืืจ ืืกืชืืื ืืจืฆืฃ, ืื ืฉืืืืจ ืฉืืจืืืจ ืืฉื ื ืื ืืชืืื ืื ืืข ืขื ืฉืืจืืฉืื ืืกืืื ืื ืืข.
ืชืคืืงื:
ืืคืื ืขืืืจ ืื ืจืืืจ ืฆืจืื ืืืืืช ืืงืืืืจืืื ืืืช ืืืืืืื ืืกืืคื ืฉืื.
ืืขืจืืช:
ืื ืฉืขืืื ืืขืฉืืช ืืื ืืืืฉื ืืช ืืืจืืฉืืช ืืขืื ืืืืืืื ืฉืืื ืืืง ืขืืื ืขื ืืื ืืชืืืช ืืืืงืืช ืืืืื ืขืืืจื.
ืืฆืืจืช ืื ืฆืืจื ืฉื ืืืฉืง ืืฉืชืืฉ ืืื ืืืืฅ ืืชืืื.
ืคืชืจืื ืืืขืื ืืืืฆืขืืช ืืืฉืช TDD (Test Driven Development) ืืืขืืฃ.
ืืืื ืืงืฆืจ ืืขืืื ืืจืฉืืชื ื, ืื ื ืืืืืื ืืืชืจ ืืืืืืช ืืืฉืจ ืืฉืืืืช.
*ืื ื ืื ืืืื ืืคืจืกื ืืช ืืืืื ืฉื ืฉืืื ืืื, ืื ืืืื ืืฉื ื ืฉื ืืชื ื ืืคื ื ืืกืคืจ ืฉื ืื. ืืื ืชืืืื ืื, ืืืกืืื ืืื ื ืฉืืจ ืืืชื ืืืจ.
ืืจืฆืื ื ืืืืืื ืืืคื ืืช ืืช ืชืฉืืืช ืืื ืืงืจืืืจืืื ื ืืืขืจืื. ืืื ืคืขืืื ื ืชืงืืชื ืืืฆื ืฉืื ืืืจืื ืฉืืฉืืืื ืืืืขืื ืื ืืกืจื ืืฉืืืืช ืืืืืืื ืืืืื ืืืืงืืจืช ืืืืืคื. ืื ืืืื ืืืฉืืื ืืืื, ืืื ืจืืื ืืืืืื ืืงืื ืืืขืงืื ืืืจ ืืขืจืืื ืฉืื ืื ืื ืืืฆืืจืื ืืืืจืืจ. ืืื, ืืงืจืืืจืืื ื ืืืขืจืื ืืจืืจ ืืื ืฉืืืืฉืืจืื ืืืฉืืืื ืืืืชืจ ืืฉืื ืื ืื
- TDD;
- ืืืืืช ืืืฉืชืืฉ ื- OOP ืืืืชืื ืงืื ืืจ ืชืืืืงื;
- ืฆืื ืืืืืืช ืชืื ืืช
ืื, ืืืืืจื ืืืชื ืืืืืช ืืช 1.5 ืืฉืขืืช ืืืื ืืืืฉืื ืขื ืืื ืื ื ืืืื ืืืฆืข ืืช ืืืฉืืื, ืืืงืื ืืืชืื ืงืื. ื ืืชืื ืืช ืืงืื ืืืื.
ืืฉืืืขื ื ืืืืคืื, ืืืืจ'ื ืกืืคืจื ืื ื ืืงืฆืจื ืื ืื ืืื ืื ืขืืฉืื ืืืฆืืขื ืืืชืืื ืืคืืชืื.
ืืืืื ืื ืืจืืืื ืื ืืืืชื ืื ืืจืืฉื ืฉืืจืืืื ืื ืืืชื. ืืฉ ืชืืืฉื ืฉืืชื ืืคืชื ืงืื ืืฆืืืช. ืื ืืชื ื ืชืงืข ืืืคืฉืื, ืื ืขืืืจืื, ืืืืขืฆืื, ืื ืื, ืืคืืื ืืชืืืืืื ืืื ืขื ืืฉื ื ืขื ืืืจื ืืืืื ืืืืชืจ ืืขืฉืืช ืืืช. ืืจืืืื ืฉืืืชื ืืื ืืืืงืื ื-JUnit 5 ืฉืฉืืื ืืืจืงืช Exception - ืื ืืฆืืขื ืืืืฉืื ืืืชืื ืืช ืืืืื, ืืืื ืฉืืื ืืื ืืืคืฉ ืืื ืขืืฉืื ืืช ืื.
ืืืฉ ืืื ืฉืขืืช ืืืจื ืืจืืืื, ืงืืืืชื ืืฉืื ืืื ื - ืื ืืืืชื ืืื ืื. ืืืงืจื ืฉืื, ืงืืืืชื ืฉืืืื ืขื ืืฉืืืืฉ ืืืืืงืืช Sealed ืืืืืคื ืืืืืืืงื ื-null; ืขื ืื ืฉืืคื ื ืืชืืืช ืืงืื, ืืชืืชื ืืคืกืืืืืงืื ืืืฆื ืืจืฆื ืืฉืืื ืขื ืืจืืืจ, ืืื ืงืืืืชื ืกืงืืฆื ืฉื ืืืืืงืืช, ืืคืืืช ืืื ืฉืืขืืจืืืช ื-API ืฉื ืืจืืืื.
ืฉืื 2: ืกืคืจ ืื ื
ืฉืืืข ืืคื ื ืืจืืืื ืืชืืงืฉืชื ืืืืื ืืฆืืช ืขื ืื ื ืืฉื ืฉืืขื ืืื ืืืชื. ืืคืืจืื ืคืฉืื ืืืืืจ: 15 ืืงืืช ืืฆืืช, 15 ืืงืืช ืืขื ื ืืฉืืืืช.
ืืืจืชื ื- Clean Architecture ืืืช ืืืื ืืื. ืืฉืื ืืชืจืืืื ืชื ืขื ืืื ืืื ืื ืฉืื. ืื ืืืืชื ืืืืืื ืืจืืฉืื ื ืฉืื ืืืฆืื ืืื ืืืืช, ืืืืื, ืื ืืืืชื ืืืฆื ืืืืืฅ, ืื ืืืืชื ืืกืืื ืืืชืืืื. ืืื ืฉืื, ืืฃ ืคืขื ืื ืืืืชื ืื ืืจืืฉื ืฉืื ื ืืจืืืื. ืืื ืืจืืื - ืื ื ืืืืจ ืืื, ืื ืืงืฉืืืื ืืืื. ืืคืืื ืืคืืฉ ืืฉืืืืช ืืืชืฉืืืืช ืืืกืืจืชื ืื ืืื ืืื ืจืืืื; ืืื ืืจืืจ ืฉืืฉืืืืช ืื ื ืฉืืื "ืืฉืงืืข", ืืื ืืื ืฉืืืืช ืขื ืืื ื ืืืชื ืืืฆืืช ืฉืื.
ืืื ืฉืขืืช ืืืืจ ืืจืืืื ืงืืืืชื ืืฉืื - ืืืฆืืช ืืืืชื ืืืื ืฉืืืืฉืืช ืืื ื ืื ื ืืืื ืืืงืฉืื.
ืฉืื 3. ืงืื ืืืืืช ืืืฆืืจ
ืืืืจ ืฉืืืืจืชื ืฉืื ืืฉืื ืืืืจืื ืฉื ืจืืืื ืืช ืืื ืืื, ืืชืืงืฉืชื ืืืืื ืืช ืืงืื ืืืืช ืืืฆื ืืืื ืืืืฆืืจ, ืืื ืืฉืืื ืืช ืืงืื ืืืืืงื ืืืงืืืข ืจืืืื ืืช ืฉืืื ืืืจืืฉืืช ืืืฉืืื ืืฉืชื ื ืืืงืื ืืฉืชื ื. ืืืจืฉ ืฉืื ืื. ืืืื ืงืืืื, ืื ื ืืืื ืืืืจ ืฉืืืืงืช ืืงืื ืืชืืฆืขืช ืืฆืืจื ืขืืืืจืช, ืืกืืงืจืื ืื ืืืืขืื ืืช ืืชืคืงืื ืืืื ืืชืืืื ืืืืขืื, ืื ืื ืจืืืื ืืช ืงืืจืืช ืืืืื ืฉืื, ืื ืืคืืื ืื ืจืืืื ืืช ืฉืื.
ืืืืคืื ืฆืืฆื, ืืฉืื ืืื ืืื ืืืืจืื ืืฆื ืืฉื ื ืฉื ืืืื ืืืืจ. ืืื ืืืชื ืืืจ ืืื ืืจืืืื ืืจืืฉืื: ืืขืืงืจ ืื ืืฉืืื ืืช TDD, ืืกืคืจ ืื ืืชื ืขืืฉื ืืืื. ืื ืื ืชืจืืืชื ืืขืืจ TDD, ืื ืื ื ืืืืืฅ ืืืชืืื ืืขืฉืืช ืืช ืื ืืื, ืื ืื ืื ืืืจืื ืืืืจืืช, ืืื ืื ืื ืืคืฉื ืืช ืืืืื ืืฆืืจื ืืฉืืขืืชืืช, ืืคืืืช ืืช ืจืืช ืืืืฅ ืื ืชืจืฆื. ืืืืจืื ืืื ื ืืืฆืชื ืืืคืฉ ืืืืจืืฃ ืขื ืืืืื ืืืจ ืฉืืืื ืฉื ืืชื ืืฉืืืจ ืจืง ืืจื ืืืคืืคื, ืืื ืื ืืคืฉืจ ืืฉืืืจ ืืืชื ืืืืืงืืช? ืขืืฉืื ืืืืื ื ืฉืชืฆืืจืื ืืชืคืืก ืืขืืช ืืื ืืืืื ืจืืืื - ืืืืืืืช ืืื ืืื ืฉืขืจืืช ืืคืืจืืช. ืื ืื ืื ื ืืงืืืื ืขื TDD? ืฉืื ืื ื ืืช ืืงืื ืืืื ื ืืืคืชืืข ืฉืขืืฉืื ืืืืืงืืช ืืืืืืช, ืืื ืืื ืืฉืืืื ืฉืื ืื ื ืื ืืฆืืืืื ืืืืื ืืคืขื ืืจืืฉืื ื? ืืืงืื, ืื ืื ื ืืืืจืื "ืืืคืก" ืืืจืืืื ืื, ืืืืฆืื ืขื Ctrl-Z ืืืชืืืืื ืืขืฉืืช ืฆืขืืื ืงืื ืื ืงืืืื. ืืื, ืืชื ืฆืจืื ืืคืชื ืืช ืืืืืืช ืืืชืคืชื ืืืืฆืขืืช TDD ืืขืฆืื, ืืช ืืืืืืช ืืืืช ืืงืจืืช ืืืืจื ืื ืฉืืืืืงืืช ืฉืื ืืืื ืืจืืงืืช ืืฆืืืชืืช, ืืื ืืืืืืช ืืืฉื ืืฆื ืืื, ืื "ืืฉ ืื ืืจืื ืืืืืฉืื". ืื ืืืืืง ืืืชื ืืืืื ืืช ืืื ืืชืืืช ืงืื ืืจ ืชืืืืงื, ืื ืืชืืืช ืงืื ืคืจืืืืงืืืื.
ืืื, ืขื ืืื ื ืืชื ืืฉื ืืช ืืช ืืงืื ืฉืื ืชืืื ืืืืื ืขืืฆืื ืืชื ืืืฉื ืืืืชืืืื, ืืื ืื ืคืฉืื ืืขื ืืื ืืืืืงืืช ืฉืื ืืืืืช.
ืืืืจ ืืจืืืื ืงืืืืชื ืืฉืื ืชืื ืืกืคืจ ืฉืขืืช. ืืฉืื ืืื, ืืื ืชื ืฉืืืขื ืกืืืืชื ืื ืฉืืจ ืืขื ืืืื ืขื ืฉ"ืคืืฉืชื ืืช ืคืืืืจ".
ืฉืื 4. ืืืจ. ืืกืคืืง ืฉืืืืช ืืื ืืืช. ืื ืื ื ืจืืฆืื ืืืขืช ืื ืืชื!
ืืืขื ืืืืช, ืืืืชื ืงืฆืช ืืืืืื ืืื ืืกืื ืืื ืฉื ืืฉืืื. ืืื ืืชื ืืืื ืืืืื ืืืื ืื ืืื ืื ื ืืฉืขื ืืืช ืฉื ืฉืืื? ืืขืื ืืืชืจ ืืื, ืืื ืืชื ืืืื ืืืืื ืืช ืื ืืฉืื ื ืืืืจ ืืฉืคื ืฉืืื ื ืฉืคืช ืืื ืฉืื, ืืืืขื ืืืืช, ืืืื ืขืืื ืืขื ืืฉืื. ืืจืืืื ืืช ืงืืืืื ืืื ืื ืืืชืจ ืงื ืืืืจ ืืื ืืขื ืืช ืขื ืฉืืืืช, ืืืืืื ืืื ืืฉื. ืืคืืืช ืืื ืืืืจืืืื ืื ืืื ืืกืืืชื - ืืืืืื ืฉืืื, ืืืื, ืืื ื ืืื, ืืื ืงืฆืช ืกืคืฆืืคื ืืืืื ืืืืจืืคืืช. ืืื ืืืืืชื ืื ืงืื ืืืืฉื ืืืืื โ ืืืืื ืืฆืืช ืขื ืขืฆืื ืืืชืืืืช ืืจืืืื ืืืฆืืข ืืืืจ ืขื ืขืฆืื ืขื ืืืฆืืช ืืื. ืื ืื ืืกืืืื, ืื ืืคืืืช ืืืื ืคืืืช ืฉืืืืช ืขืืืจื; ืื ืื ืืืื ืืช ืืืฆืขื, ืืืื, 3 ืฉืขืืช ืืืื ืฉืืืฉืงืขื ืืืฆืืช ืื ืื ืืืืจ ืื ืื ืืืื. ืืื ืื ืืืื ืืืชืื ืืืฆืืช? ืืืืืจืคืื - ื ืืื ืฉื, ืืืืชื ืชืงืืคื, ืืื ืืืืช ืืกืคืจ, ืกืืื ืืช ืืืืืืื ืืืื ืืืจืกืืื - ืืื ืืื ืืืคืช?
ืื ืชืืคืฉื ืงืฆืช ืืืืื ืขื โโืชืจืืืช Thoughtworks, ืชืืฆืื ืืืืจ ืืืช ืืจืืื ืคืืืืจ [https://martinfowler.com/bliki/ThreePillars.html] ืฉืืชืืจ ืืช 3 ืขืืืื ืืชืืื: ืขืกืงืื ืืจ ืงืืืื, ืืฆืืื ืืช ืืชืืื ื ืืฆืืง ืืืจืชื.
ืืื ื ื ืื ืฉืืฆืืื ืืช ืชืืื ื ืืืจ ื ืืืงื ืขืืืจื. ื ืืชืจ ืืืจืืืช ืขืกืงืื ืืจ ืงืืืื ืืฆืืง ืืืจืชื.
ืืชืจ ืขื ืื, ืืืืืชื ืืืชืืงื ืืืืจืื.
ืืืืชืืืื, ืกืืคืจืชื ืื ืืืืข ThoughtWorks - ืงืจืืชื ืืช ืืืืื ืฉื ืืจืืื ืคืืืืจ ืขืื ืืืืืื, ืืืืื ืืืืชื ืืงืื ื ืงื.
ื ืืชื ืืืฆืื ืคืจืืืงืืื ืื ืืืืืืืช ืฉืื ืืช. ืืื ืื ืคืืชื ืชืืื ื ืืจืคืืื ืฉืคืฉืื ืืช ืืืืื ืฉื ืืืืื, ืืืคืืื, ืขื ืคื ืืฉืืืขืืช, ืืฆืืื ืืืื ืืื. ืคืืชืืชื ืื ืชืืื ื ืืื ืงืื, ืฉืื ืืงืื ืขื ืืืืจืืื. ืืืืืื ืื ืืื ืง ืืื ืืฉืืฉ 70% ืืืืืืืกืืืช ืืืืื ื. ืื ืืืืืจ ืืกืืจืื ืง ืืืคืืื ืื ืืจืืกืื.
ืจืืฆื ืืืขืช ืขืื? ืืกืืจ. ืืชืืืื ืฉืื ืืื ืฆืืืื, ืื ืื ืื ืื ื ืืืืืง ืืฆืืื ืืืืืื ืืขืจื 10 ืฉื ืื, ืืฉ ืฆืืืืืื ืฉืื ื ืื ืืชืืืืฉ ืืืชืจ ืืื ืืืจืืืช. ืืื ืื, ืคืขื ืขืืจืชื ืืืงืื ืืืชืืืื: ืฆืืืืชื ืืชืืืื ืฉืืงืืงืื ืืืืช ืงืืข. ืืขื ืฆืืืืืื ืืืืื ืืจืื ืืืชืจ ืงื ืืืงื ืืชืื. ืื ืจืื ืฆืืืืชื ืืื ืืชืืืื :)
ืืกืืคื ืฉื ืืืจ, 80% ืืืืฆืืช ืฉืื ืืืืชื ืืืื ืืืชืืืื.
ืืื ืืืืจ ืืืฆืืช, HR ืืชื ืื ืฉืืื ืขืืืื ืื ืืืืข ืืช ืชืืฆืืืช ืืจืืืื, ืืื ืื ืืืฉืจื ืืืจ ืืชืจืฉื ืืืืชืืืื.
ืืกืืคื ืฉื ืืืจ, ืืืืืชื ืืืฉืื - ืกืืคืงืชื ืืช ืืืื ืืืื.
ืืื ืืืืื ืืฉืืื ืืืืจืื ื, HR ืืืจ ืืืงื ืฉืฆืืง ืืืจืชื ืืื ืืื ืืืื ืืืืจืื, ืืื ืื ืื ืืคืจืืืงืืื ืื ืืืื. ืืืื ืฉืื ืื ืื ืืคืืื ืืืชื. ืืืืคื ืืืื, ืงืฆืช ืืืืืชื ืขื ืฆืืง ืืืจืชื, ืื ืงืืจื :)
ืกื ืืื
ืืชืืฆืื ืืื, ืื ื ืขืืื ืืกืื ืืคืืจ ื-Thoughtworks ืืืจ ืืื ืืืืฉืื, ืืื ื ืจืืื ืฉืื ืืื ืืืจืืช ืจืืืช ืืืืฆืืช "ืฉืืืืช ืจืืืื ืืช ืืืืืฆืืช" ืืืืื, ืืฉืชืืฉืืช ืืขืืื ืืืืื ืืื ืืงืืืื, ืืืจืืช ืฉืืฉ ืืื ืืืชืจ ืืืข ืืืฉืจ ื-Spring, Symfony, RubyOnRails (ืืืืฉ ืืช ืืืจืืฉ) ืืื ื ื ืืจืฉ ืืขืืืื. ืืื ืืกืื ืืืงืืื ืฉืืืข ืืืคืฉ ืืคื ื ืจืืืื ืืื "ืืืชืืื ื".
ืืืืจืช Thoughtworks, ืื ืืกืฃ ืืืจืืฉืืช ืืชืืืืืช ืืืืขืื, ืืขืงืจืื ืืช ืืืืื ืขืืืืื ืืืืืช:
ืฉืืืช ืจืืืื. ืืชืจ ืขื ืื, ืืฉื ื ืืฆืืืื. ืืืื, ืื ืืชื ืจืืฆื ืืืฉืื ืืช ืืื ืืืื ืืืื ืืืืชืจ (ืืื ืื?), ืื ืจืืืื ืืื ืื ืฉืืง ืฉืื ืืืืจืื ืขืืืื, ืืื ืืฆืื ืฉืื ืื ืืืขืกืืง ืืื ืืืืขืื ืืขืจืืืื ืื ืืช ืื. ืืื ืืืขืื ืืงืฉืจ ืจืืฉืืช ื ืขืืืื ืืืืจื, ืกืืืจ ืืื ืื ืฉืืื ืืืืจ ืืืืงื ืืืืจื ืืื
ืืจืืืื ืื ืืจืืืื ืืื ืืืชื ืืืื. ื-Thoughtworks, ืชืื ืืช ืืืื ืืื ืืกืื ืืจื ืื ืคืงืื. ืืื ื ืืชื ืืืืฉื ืืช ืืชืจืืื ืืื ืขื ืชืืืืื ืืืจืื, TW ืื ืกื ืืขืฉืืช ืืืช. ืืื ืฉืื, ืืจืืืื ืืชืืฆืข ืขื ืืื 2 ืื ืฉืื. ืืคืืื, ืื ืืื ืืืขืจื ืขื ืืื ืืคืืืช 8 ืื ืฉืื, ื-TW ืื ืกื ืืืืืจ ืืจืืืื ืื ืขื ืจืงืข ืฉืื ื, ืืืืื ืื ืฉืื ืื (ืื ืจืง ืื ืฉื ืืื ืืืืืื) ืืืืืจ.
ืืกืืคื ืฉื ืืืจ, ืืืืืช ืืืืืก ืชืชืงืื ืขื ืกืื ืืขืืชืืื ืฉื ืืคืืืช 8 ืื ืฉืื, ืืืืฃ ืืื ืืื ืงืื ืืืจืืข.
ืืืืก ืขืืืืื ืืืืกืก ืชืืื ืืช ืืืงืื ืืงืื ืืืืื ืขื ืกืื ืืืืชื ืื ืื ืืืืชื ืฉื ืืืืขืื, ืคืืชื ืืืคืก ืืื ืชืคืงืื ืืืื ืฉืื ืืืืื ืืช ืืชืืื ืืช ืื ืืืงืืช. ืืื ืขื ืืืช, ืืขืช ืืขืจืื, ืืืืืฅ ืืืื ืืืขืจืื ืื ื ืืกืืื ืืืืืื ืืช ืืกืืืืช, ืืื ืืช ืืืืืืช ืืืืฉื ืืืชื. ืืคืืื, ืื ืืืขืื ืื ืืฆืืื ืืืืฉื ืืืืื ืืืืช ืืืฉืื, ืืืื TDD, ืื ืืื ืืืช ืืื ืื ืกื ืืืืฉื ืืืชื, ืืงืฉืื ืืขืฆืืช ืืืฆื ืืืฉืชืืฉ ืืื ื ืืื, ืืฉ ืื ืื ืกืืืื ืืขืืืจ ืืช ืืจืืืื.
ืืื ืฆืืจื ืืชืขืืืืช ืืฉืืื TW ืืื ื ืืืจืฉ ืฉืื ืืกืืื ืื ืืฉืืื ืืืืขื ืืืืฉื. ืจืง ืืืฉืืจืื ืืืขืจืืื.
ืื ืืจืืืื ืืจืืฉืื ืฉืงืืืืชื ืขื ืืืจืืช ืืจืืช ืฉืื ืืืืชื ืฆืจืื ืืืชืืื ื ืืืื. ืืืจื ืื ืฉืื, ืื ืืจืืฉืชื ืืืชืฉ, ืืื ืืืืคื, ืฉืืืชื ืฉืืืืืชื ืืืืฉื ืืช ืืฉืืืืช ืืืืืืฆืืช, ืฉืื ืฉืื ืืฆื ืืฉื ื ืฉื ืืืื ืืืืจ ืืขืจืืื ืืช ืื ืืืืฉืื ืืืชื ืื ืืื.
ืืืืจ ืืกืคืจ ืืืืฉืื, ืื ื ืืืื ืืืืจ ืฉืืฆืืคืืืช ืฉืื ืืชืืฉืื ืืืืืื. ืืื ืฉืื ื ThoughtWorks ืืืืจื ืจืืืื? ืืืืจื ืจืืืื ืืคืฉืจ ืืืฆืื ืืคืชืืื ืืืืื ืืื ืฉืื ื ืืืืื, ืืื ื-TW ืืจืืืื ืฉืืื ืืืจื ืืืืืืืืช.
ืื ืืชื ืืขืื ืืื ืืืฆืืจืฃ ื-ThoughtWorks, ืชืืื ืืฆืคืืช ืืืฉืจืืช ืืคืชืืืืช ืฉืื ื
ืื ื ืืฆืืข ืื ืืฉืื ืื ืืืฉืจืืช ืคื ืืืืช ืืขื ืืื ืืช:
ืืื ืืก ืชืืื ื ืืืืื:
ืืื ืืก ืชืืื ื ืืืืจ:
ืืื ืืก ืชืืื ื:
ืืื ืืก ื ืชืื ืื ืืืืจ:
ืื ืืืกื ืืืืืช:
ืชึทืฉืืชึดืืช:
(ืื ื ืจืืฆื ืืืืืืจ ืืืชื ืืื ืืช ืฉืืงืืฉืืจ ืืื ืงืืฉืืจ ืืคื ืื, ืื ืชืื ื-TW, ืืงืื ืืื ืืก ื ืืื). ืืืจ ืืฉืจื ืฉืืชื ืืืื, ืืชื ืื ืฆืจืื ืืืืืื ืืช ืขืฆืื ืืืืจืืคื, ืืืจื ืืื, ืื ืฉื ืชืืื TW ืชืฉืื ืืืขืืืจ ืืืชื ืืืืื ื ืืืจืช, ืื... ืื ืืืง ืืืืื ืืืช ThoughtWorks, ืื ืฉืืชืจืืืช ืืืคืฆืช ืืืืืืื ืืช.
ืืชื ืืืืื ืื ืืฉืืื ืฉืืืืช ืืชืืืืืช ืื ืืืงืฉ ืืื ื ืืืืฆืืช.
ืื ืื ืืฉื ื ืจืื ืืขื ืืื, ืืืชืื ืขื ืืื ืื ืืขืืื ื-ThoughtWorks ืืืื ื ืจืืื ืืืืื ืืกืื ืืคืืจ.
ืืงืืจ: www.habr.com