4Developers 2015: Legacy Code, szkoła przetrwania - Katarzyna Żmuda

Post on 15-Jul-2015

90 views 1 download

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