4Developers 2015: Legacy Code, szkoła przetrwania - Katarzyna Żmuda
Transcript of 4Developers 2015: Legacy Code, szkoła przetrwania - Katarzyna Żmuda
Legacy Code – szkoła przetrwania
Katarzyna Żmuda
Literatura
Legacy code
Co to jest?
● Kod, który „odziedziczyliśmy”
● Kod, którego nikt nie rozumie
● Kod obciążony długiem technicznym
● Kod bez testów
● Kod, który działa
Przestań pisać
legacy code !!
● Testuj nowy kod
● Pisz kod łatwy do zmiany
● Dodawaj testy do kodu, który zmieniasz
● Napisz testy do kodu, który zmieniłeś
Wprowadzanie zmian
● Edytuj i módl się
● Kryj i modyfikuj
PARAGRAF 22
Testy charakteryzacyjne
● Użyj klasy lub metody w teście
● Napisz błędną asercję
● Dowiedz się, jakie jest zachowanie
● Spodziewaj się wartości z poprzedniego
punktu
● Powtórz
Testy charakteryzacyjne
Testy charakteryzacyjne
Testy charakteryzacyjne
Wprowadzanie zmian
● Edytuj i módl się
● Kryj i modyfikuj
– Dostosuj do testów
– Dostosuj do rozszerzalności
– Rozszerzaj
Techniki usuwania zależności
● Parametryzacja konstruktora/metody
● Wyodrębnienie interfejsu
● Adaptacja parametru
● Wyodrębnienie metody wytwórczej
Parametryzacja konstruktora
- łamanie ukrytej zależności
Parametryzacja konstruktora
- łamanie ukrytej zależności
Parametryzacja konstruktora
- łamanie ukrytej zależności
Wyodrębnienie interfejsu
Wyodrębnienie interfejsu
Wyodrębnienie interfejsu
Wyodrębnienie interfejsu
Adaptacja parametru
Adaptacja parametru
Adaptacja parametru
Adaptacja parametru
Wyodrębnienie
metody wytwórczej
Wyodrębnienie
metody wytwórczej
DEMO