Aktualizowanie istniejących aplikacji
Jeśli zespół aktualizuje istniejącą aplikację, jednym z jego pierwszych zadań jest poznanie kodu.Aby móc oszacować prace, które będzie wykonywał zespół, musi to wskazywać te fragmenty kodu, gdzie wymagane są zmiany, a następnie określać, jak daleko sięgać będą konsekwencje wprowadzenia zmiany.
Zespół może pomagać w upewnianiu się, że wprowadzane zmiany nie mają żadnych negatywnych skutków poprzez tworzenie i uruchamianie testów jednostkowych i testów systemu.Jeśli testy te jeszcze nie istnieją, zespół musi je utworzyć.Jednak tworzenie wyczerpującego zbioru testów jednostkowych i systemu dla istniejącej aplikacji nie jest wymagane.Zrozumienie istniejącej struktury kodu oraz zmian, jakie mają być wprowadzone, zespół może skupić się na tworzeniu testów, które wymagają upewnienia się, że zmiany te nie wpływają szkodliwie na aplikację.
Następujące akcje i narzędzia są zalecane, gdy musisz zaktualizować istniejący kod:
Zrozumienie struktury istniejącej.Użyj Eksploratora architektury, ukierunkowanych wykresów i wygenerowanych diagramów sekwencji, aby znaleźć główne składniki i ich zależności.Aby uzyskać więcej informacji, zobacz Tworzenie wizualizacji kodu.
Zrozumienie istniejącego zachowania i wymaganych zmian.Zespół powinien zrozumieć istniejące zachowanie, gdy szczegółowo omawia nowe historie.Istniejące wątki "taki, jaki jest" i nowe wątki "będzie". Użyj tych znaczników jako części pliku, folderu i nazw modelu.
Możesz używać modeli, aby pomóc w wyjaśnianiu przypadków użycia.Aby uzyskać więcej informacji, zobacz Modelowanie komentarzy klientów.
Stabilizuj zachowanie testami.Dodaj testy ręczne lub automatyczne w celu osiągnięcia następujących czynności:
Pomoc w zrozumieniu istniejącego zachowania produktu.
Wyróżnianie tych aspektów zachowania produktu, która mają zostać zmienione.
Upewnij się, że wprowadzone zmiany nie przerywają działania istniejących funkcji.
Ustabilizuj architekturę z diagramami warstwy.Utwórz diagramy warstwy do osiągnięcia następujących czynności:
Pomoc w zrozumieniu struktury istniejącego kodu.
Wyróżnianie obszarów do zmiany w istniejącym kodzie.
Upewnij się, że zmiany nie są umyślnie sprzeczne z istniejącą architekturą poprzez wprowadzenie niezamierzonych zależności lub poprzez umieszczenie funkcji w nieodpowiednich miejscach.
Aby uzyskać więcej informacji, zobacz Stabilizowanie struktury aplikacji dzięki zastosowaniu diagramów warstwy.
Zapisz wymagane zmiany jako wątki, oszacuj koszt wątków i zorganizować je w zaległości produktu.Podczas szacowania kosztów, weźmiesz oczywiście pod uwagę fakt, że aktualizujesz istniejący kod.Każde szacowanie powinno obejmować czas, który bierze się pod uwagę dla istniejącego projektu i przy zapisywaniu zautomatyzowanych testów.
Aby uzyskać więcej informacji, zobacz Tworzenie zaległości.
Warto przeczytać
Skuteczna praca z kodem Legacy, Michael Feathers; Prentice Hall, 2004.