Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
TDD KATA
JAK STAĆ SIĘ LEPSZYM?!
POCZĄTKUJĄCY
Uczymy się podstawowych zasad, wykonujemy określone
akcje nie zastanawiając się nad tym dlaczego akurat
te, p...
KATA
to ciągłe powtarzanie
określonych czynności
według zdefiniowanego
schematu
TDD KATA:
„STRING CALCULATOR”
Zasady:
- Pracujemy tylko nad jednym wymaganiem na raz.
- Nie interesuje nas to co będzie w ...
1. PROSTY
KALKULATOR
- Utwórz prostą metodę przyjmującą wyrażenie typu String
jako parametr.
- Metoda może przyjmować 0, 1...
2. DOWOLNA ILOŚĆ
PARAMETRÓW
- Spraw by kalkulator przyjmował dowolną ilość parametrów i
zwracał ich sumę.
3. LICZBY ODDZIELONE
ZNAKIEM NOWEJ LINII
- Spraw by liczby przekazywane do naszej metody mogłby
być oddzielane przy użyciu...
4. WSPARCIE DLA RÓŻNYCH
SEPARATORÓW
- Aby zmienić separator na inny niż domyślny należy podać w
parametrach wejściowych no...
5. DODAJEMY TYLKO
LICZBY DODATNIE
- Jeśli zostały przekazane liczby ujemne, powinien zostać
rzucony wyjątek „negatives not...
6. OGRANICZAMY
ZAKRES
- Liczby większe niż 1000 powinny być ignorowane.
- Przykład:
2000 + 2 = 2
7. SEPARATOR
DOWOLNEJ DŁUGOŚCI
-Separator powinien być dowolnej długości a nie tylko
ograniczony do jednego znaku.
- Dłużs...
8. WIĘCEJ NIŻ JEDEN
SEPARATOR
- Sprawmy by nasza metoda mogła obsługiwać więcej niż
jeden separator zdefiniowane w następu...
9. WIĘCEJ NIŻ JEDEN
SEPARATOR RÓŻNEJ DŁUGOŚCI
- Upewnijmy się, że nasza funkcja obsługuje kilka dłuższych
separatorów.
Upcoming SlideShare
Loading in …5
×

09 tdd kata backlog

863 views

Published on

TDD Kata Backlog

Published in: Education
  • Be the first to comment

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.

×