Code kata

  • 3,841 views
Uploaded 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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,841
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
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