Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Codekata

 Codekata

25.02.2012 NSND Kumanovo

Dalibor Nasevic

February 25, 2012
Tweet

More Decks by Dalibor Nasevic

Other Decks in Programming

Transcript

  1. Github: @dalibor
    Code Kata
    25.02.2012, НСНД Куманово

    View Slide

  2. - Јапонскиот концепт за ката во боречките вештини
    - вежба во програмирање која има за цел
    подобрување на вештините преку повторување
    - различно од искуство стекнато со работа
    Што е идејата?

    View Slide

  3. Dave Thomas

    View Slide

  4. - The Pragmatic Programer
    - Programming Ruby
    - Agile Development with Rails
    - Pragmatic Bookshelf publishing
    - Потписник на Agile манифесто-то и ред други работи
    Dave Thomas

    View Slide

  5. Ron Jeffries

    View Slide

  6. Ron Jeffries
    Еден од основачите на Extreme Programming (XP) во
    1996, заедно со Kent Beck и Ward Cunningham.
    ”Вежбање: тоа е она што го правиме”
    ”Она што ги менува луѓето е тоа што го прават, не она
    што го читаат. Може да читате книги за диета, но доколку
    не вежбате нема да ослабете...”

    View Slide

  7. Како може да вежбате?
    Идеја 1
    - Едноставни проблеми
    - Многу можни решенија
    - Секогаш различно
    решение
    - Експериментирање
    Идеја 2
    - Копираење на одличен
    програмер
    - Следи го секој детал
    - Учи со повторување
    - Цели кон перфекција

    View Slide

  8. Coding Dojo

    View Slide

  9. Coding Dojo
    - не е натпреварувачки, се работи заедно
    - луѓе со секакви знаења се добредојдени
    - место да се испробаат нови идеи
    - социјализација
    - учите да прифатите критика
    - добивате feedback за кодот и техниката
    - Типови:
    Однапред припремена ката
    Randori ката
    Coderetreat

    View Slide

  10. Библиотека
    1. Code Kata
    http://codekata.com
    2. All TDD Problems
    http://sites.google.com/site/tddproblems/all-problems-1
    3. Ruby Quiz
    http://www.rubyquiz.com

    View Slide

  11. String Calculator
    http://osherove.com/tdd-kata-1/

    View Slide

  12. 1. Методот може да прими 0, 1 или 2 броја
    - add(””)
    - add(”1”)
    - add(”1,2”)
    2. Методот може да прими неограничено
    броеви
    3. Методот може да се справи со карактери за
    нова линија (\n)
    - “1\n2,3”
    4. Подржува различен раздвојувач
    “//[delimiter]\n[numbers…]”
    “//;\n1;2”

    View Slide

  13. TDD (Test Driven Development)

    View Slide

  14. View Slide