570 likes | 667 Views
Extreme Programming Live. WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @ jhannes. Guest starring: Chaminda Sooriyapperuma. How do you become a better programmer. After this talk You may find desire to train with TDD You may pair program sometimes
E N D
Extreme Programming Live WeActuallyBuildStuff Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Chaminda Sooriyapperuma
After this talk You may find desire to train with TDD You may pair program sometimes You may think of some ways to improve the way you work
Waddayamean«extreme programming» What to look for Demonstration Discussion Conclusion
It is better to Do the thing right, then to Do the right thing (first)
Ingredient#1: Pair programming
Ingredient#2: Test driven development
Failing test Write code Failing test Write code Failing test
Ingredient#3: Refactoring
Failing test Write code Refactorcode and tests Failing test Write code Refactorcode and tests Failing test
Failing test Write code Failing test Write code Failing test
Failing test Write code Refactorcode and tests Failing test Write code Refactorcode and tests Failing test
Failing test Write code Refactorcode and tests Failing test Write code Refactorcode and tests Failing test
What to watch for? How do we work together? How do weuse tests to understand? How do we «grow» thecode?
Please: Talk aboutwhatyousee to the person next to you (whisper) Tweet to @jhannes
Demonstration (Guest starring Chaminda Sooriyapperuma)
Kata: Prime factors 1 => [] 2 => [2] 3 => [3] 4 => [2,2] … 2*2*13*17*23*23 => [2,2,13,17,23,23]
Whatdidyousee? Howoftendidweswitch ”driver”? Effectsofpairing? Whatdidthe ”non-driver” do? How do youexpect it to be different?
What do youthink? Pairingtwo seniors? Pairingtwojuniors? Pairing senior and talent? Pairing senior and junior?
Whatdidyousee? How many tests? Wasthestepsize right? Whatwasthe first test? Howdidwedecidenext test? Whatwasthe final test?
Whatdidyousee? Didwerefactorthe right amount? Howlongwasthecode red? Strengths in final design Weaknesses in final design Enoughcomments?
Questions? Your experience?
Gettingbetterquality Correctness Maintainability Productivity
Thinkbetter Think beyond the curly brackets
Deliberate Practice Slow down Repeat Reflect
Practice at school Tests lets you solve it faster
Practice at home Learn more here