Your SlideShare is downloading. ×
Code kata
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Code kata

3,904
views

Published on

A code kata is an exercise in programming which helps hone your skills through practice and repetition. …

A code kata is an exercise in programming which helps hone your skills through practice and repetition.
Why, when and how do code katas.


0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,904
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
73
Comments
0
Likes
12
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Code KataGiordano Scalzo
  • 2. Who is a programmer?
  • 3. A step towards management...
  • 4. ...or point of no return!
  • 5. NO!
  • 6. Classical Ages of Computer Programming
  • 7. Dark Ages of Computer Programming
  • 8. Renaissance of Computer Programming
  • 9. A real profession
  • 10. The Way of the carpenter is to becomeproficient in the use of his tools,first to lay his plans with a true measure andthen perform his work according to plan. -Go Rin No Sho
  • 11. SW Craftsman Tools: Languages
  • 12. SW Craftsman Tools: TddTest-driven development (TDD) is asoftware development technique that relieson the repetition of a very short developmentcycle http://en.wikipedia.org/wiki/Test-driven_development
  • 13. Tddfirst the developer writes a failing automatedtest case that defines a desired improvementor new function http://en.wikipedia.org/wiki/Test-driven_development
  • 14. Tddthen produces code to pass that test http://en.wikipedia.org/wiki/Test-driven_development
  • 15. Tddand finally refactors the new code toacceptable standard http://en.wikipedia.org/wiki/Test-driven_development
  • 16. Tdd cycle
  • 17. Tdd cycle
  • 18. Tdd cycle
  • 19. Tdd cycle
  • 20. Tdd cycle
  • 21. Tdd cycle
  • 22. Tdd cycle
  • 23. Tdd cycle
  • 24. Tdd cycle
  • 25. Tdd cycle
  • 26. Tdd cycleGot it!
  • 27. Tdd cycleEasy, isn’t it?
  • 28. Tdd cycleNo, at all! :-(
  • 29. SW Craftsman Tools: Split stories Business problem
  • 30. SW Craftsman Tools: Split stories Presentation Business logic Persistence
  • 31. SW Craftsman Tools: Split stories Ft1 Ft2 Ftn Presentation Business logic Persistence
  • 32. SW Craftsman Tools: Editors
  • 33. When improve them?
  • 34. Work != Practice
  • 35. Code kata
  • 36. Code kataKata ( or literally: "form") is a Japaneseword describing detailed choreographedpatterns of movements practised either soloor in pairs.
  • 37. Code kataPractice on small exercise
  • 38. Code kata30 minutes to an hour long
  • 39. Code kata styles‘Prag’ Dave ThomasSimple ProblemsMany correct solutionsDifferent each timeLearn by experimentation
  • 40. Code kata styles‘Uncle’ Bob MartinCopy a MasterFollow forms preciselyLearn by RepetitionAim for perfect performance
  • 41. Performance!
  • 42. Kata 9: Back to Checkout http://codekata.pragprog.com/2007/01/kata_nine_back_.html Item Unit Special Price Price -------------------------- A 50 3 for 130 B 30 2 for 45 C 20 D 15
  • 43. total with no special offersit "is zero when nothing is scanned"it "is 50 when A is scanned"it "is 80 when AB is scanned"it "is 115 when CDBA is scanned"
  • 44. total when A is on special offer it "is 130 when AAA is scanned" it "is 180 when AAAA is scanned" it "is 260 when AAAAAA is scanned"
  • 45. total when A and B are both inspecial offer it "is 175 when AAABB is scanned"
  • 46. Resources
  • 47. http://codekata.pragprog.com
  • 48. http://codingkata.org
  • 49. http://www.katacasts.org
  • 50. http://www.coderloop.com
  • 51. http://www.vimgolf.com
  • 52. Randori
  • 53. Code Retreat
  • 54. It’s your turn!
  • 55. giordano.scalzo@cleancode.it@giordanoscalzowww.slideshare.net/giordanogithub.com/gscalzo