* proces - Red Green Refactor
* korzyści wynikające ze stosowania TDD
* code kata - ciągłe doskonalnie
* composer - pobieranie bibliotek i
zarządzanie ich zależnościami
* phpspec - narzędzie do specyfikacji
jednostek w kodzie
O czym powiemy?
Slide 3
Slide 3 text
* wytwarzanie oprogramowania sterowane
testsami
* test first
* Kent Beck
* specyfikacja vs test
* London TDD vs Classic TDD
TDD
Slide 4
Slide 4 text
Proces TDD
Slide 5
Slide 5 text
1. Nie pisz kodu produkcyjnego bez
specyfikacji (testu)
2. Pisz tylko tyle specyfikacji (testów) ile jest
potrzebne do ukazania problemów w kodzie
produkcyjnym
3. Pisz tylko tyle kodu produkcyjnego ile jest
potrzebne do spełnienia specyfikacji
3 prawa wujka Boba
Slide 6
Slide 6 text
1. Mniejszy czas debugowania
2. "Żyjąca" dokumentacja
3. Wymusza tworzenie kodu
łatwotestowalnego = słabo powiązanego
(low coupling)
4. Testy regresji - odwaga do zmian w
projekcie
Korzyści ze stosowania TDD
Slide 7
Slide 7 text
1. Specyfikacja powstaje po kodzie – to nie
TDD
2. Testowanie i 120% pokrycia testami
3. Testy przywiązane do implementacji
utrudniają zmianę (beton)
4. Testy to też kod (czytelność i utrzymanie)
Błędy w TDD
Slide 8
Slide 8 text
1. Krótkie, proste zadania programistyczne
(~30min)
2. Ciągłe potwarzanie
3. Trenowanie nawyków
4. Bowling game, Prime Factors, String
calculator, FizzBuzz
Code Kata
Slide 9
Slide 9 text
Rozkład liczby na czynniki pierwsze
Przykład
1 -> []
2 -> [2]
3 -> [3]
4 -> [2,2]
6 -> [2,3]
8 -> [2, 2, 2]
9 -> [3,3]
12 -> [2,2,3]
15 -> [3,5]
Przykład – Prime Factors