09 tdd kata backlog

563 views
490 views

Published on

TDD Kata Backlog

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
563
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

09 tdd kata backlog

  1. 1. TDD KATA JAK STAĆ SIĘ LEPSZYM?!
  2. 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. 3. KATA to ciągłe powtarzanie określonych czynności według zdefiniowanego schematu
  4. 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. 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. 6. 2. DOWOLNA ILOŚĆ PARAMETRÓW - Spraw by kalkulator przyjmował dowolną ilość parametrów i zwracał ich sumę.
  7. 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. 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. 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. 10. 6. OGRANICZAMY ZAKRES - Liczby większe niż 1000 powinny być ignorowane. - Przykład: 2000 + 2 = 2
  11. 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. 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. 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.

×