• Save
09 tdd kata backlog
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

09 tdd kata backlog

on

  • 339 views

TDD Kata Backlog

TDD Kata Backlog

Statistics

Views

Total Views
339
Views on SlideShare
339
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

09 tdd kata backlog Presentation Transcript

  • 1. TDD KATA JAK STAĆ SIĘ LEPSZYM?!
  • 2. POCZĄTKUJĄCY Uczymy się podstawowych zasad, wykonujemy określone akcje nie zastanawiając się nad tym dlaczego akurat te, powtarzamy wszystkie czynności jak najdokładniej niczym mantrę – kata. PRZEŁAMANIE Zaczynamy rozumieć wykonywane akcje, poprzez praktykę zdobywamy doświadczenie w używaniu wyuczonych technik w codziennym życiu, zaczynamy dostrzegać wyjątki i uczymy się jak sobie z nimi radzić. UWOLNIENIE Rozumiemy to co robimy i dlaczego to robimy, możemy rezygnować z narzuconych wcześniej reguł ale nie pozbywając się ich zupełnie, zasady są nam niepotrzebne gdyż w pełni rozumiemy naturę tego co robimy. RI SHU HA
  • 3. KATA to ciągłe powtarzanie określonych czynności według zdefiniowanego schematu
  • 4. TDD KATA: „STRING CALCULATOR” Zasady: - Pracujemy tylko nad jednym wymaganiem na raz. - Nie interesuje nas to co będzie w następnych wymaganiach. - Piszemy tylko tyle kodu ile jest potrzebne by wymaganie zostało spełnione. - Testujemy tylko pozytywne scenariusze (chyba, że w wymaganiu jest inaczej) - Pracujemy zgodnie z zasadmi TDD – Red, Green, Refactor - Pracujemy w parach - Jedna osoba programuje, druga steruje. - Co 8 minut następuje zmiana osób - Osoby na sali mogą komentować i doradzać programującej parze, ale to do osób przy klawiaturze należy ostateczna decyzja co do implementacji.
  • 5. 1. PROSTY KALKULATOR - Utwórz prostą metodę przyjmującą wyrażenie typu String jako parametr. - Metoda może przyjmować 0, 1 lub 2 liczby oddzielone przecinkami i zwraca ich sumę (pusty string zwraca 0), przykład: „” lub „1” lub „1,2” - Zacznij od testu dla pustego parametru. - Następnie test dla jednego parametru i w następnym kroku dla dwóch. - Pamiętaj o tym by rozwiązania, które implementujeszy były jak najprostsze. - Po każdym przechodzącym teście pamiętaj o refactoringu.
  • 6. 2. DOWOLNA ILOŚĆ PARAMETRÓW - Spraw by kalkulator przyjmował dowolną ilość parametrów i zwracał ich sumę.
  • 7. 3. LICZBY ODDZIELONE ZNAKIEM NOWEJ LINII - Spraw by liczby przekazywane do naszej metody mogłby być oddzielane przy użyciu nowej lini a nie tylko przecinka. - Przykład: „1n2,3” powinno zwrócić 6
  • 8. 4. WSPARCIE DLA RÓŻNYCH SEPARATORÓW - Aby zmienić separator na inny niż domyślny należy podać w parametrach wejściowych nowy separator w poniższy sposób: „//[delimiter]n[numbers...]” - Przykład: „//;n1,2” powinno zwrócić 3. - Pierwsza linia z separatorem jest opcjonalna – poprzednia funkcjonalność powinna działać bez zmian.
  • 9. 5. DODAJEMY TYLKO LICZBY DODATNIE - Jeśli zostały przekazane liczby ujemne, powinien zostać rzucony wyjątek „negatives not allowed”. - Wszystkie ujemne liczby powinny zostać wyświetlone w wiadomości o wyjątku.
  • 10. 6. OGRANICZAMY ZAKRES - Liczby większe niż 1000 powinny być ignorowane. - Przykład: 2000 + 2 = 2
  • 11. 7. SEPARATOR DOWOLNEJ DŁUGOŚCI -Separator powinien być dowolnej długości a nie tylko ograniczony do jednego znaku. - Dłuższe separatory powinny być definiowane w następujący sposób: „//[delimiter]n[numbers...]” - Przykład: „//[***]n1***2***3” powinno zwrócić 6.
  • 12. 8. WIĘCEJ NIŻ JEDEN SEPARATOR - Sprawmy by nasza metoda mogła obsługiwać więcej niż jeden separator zdefiniowane w następujący sposób: „//[delimiter1][delimiter2]n[numbers...]” - Przykład „//[*][;]n1*2;3” powinno zwrócić 6
  • 13. 9. WIĘCEJ NIŻ JEDEN SEPARATOR RÓŻNEJ DŁUGOŚCI - Upewnijmy się, że nasza funkcja obsługuje kilka dłuższych separatorów.