Efektywna refaktoryzacja

Refaktoryzacja to teoretycznie bardzo dobrze znana koncepcja. Praktycznie każdy o niej słyszał. Ale czy wiemy jak do niej podejść w praktyce? Czy za teorią często nie stoi chęć napisania danego kodu od nowa ponieważ już go nie lubimy albo już nie nadaje się nawet do
przeczytania i szybkiego zrozumienia? To praktyczne szkolenie pokazuje jak podejść do refaktoryzacji w najmniejszych możliwych
krokach, robiąc z niej naszą codzienną praktykę. Szkolenie ma za zadanie zmotywować programistów do wspólnej jak i samodzielnej pracy nad jakością kodu każdego dnia – co jest konieczne do dostarczenie kodu wysokiej wartości.
Podczas szkolenia przedstawiona zostanie koncepcja piramidy refaktoryzacji.
● Zrozumienie Algorytmu
● Ekstrakcja mniejszych metod
● Ekstrakcja mniejszych klas
● Zauważenie relacji pomiędzy klasami (i wyłaniających się wzorców projektowych)
● Uporządkowanie architektury (pakietów)
Szkolenie koncentruje się głównie na pracy z kodem źródłowym z wykorzystaniem wbudowanych zautomatyzowanych refaktoryzacji w narzędziach takich jak IntelliJ lub Eclipse. Kod źródłowy napisany jest w Javie. Trener wykonuje wszystkie przekształcenia refaktoryzacyjne na żywo, po czym uczestnicy mogą doświadczyć tego samego poprzez pracę z tym samym kodem na własnym laptopie. Pozostałe 25% czasu poświęcone jest na prezentację i dyskusję mające na celu zrobienia z refaktoryzacji codziennego nawyku każdego programisty / zespołu.
Szkolenie to, nie jest szkoleniem z architektury. Różne zespoły mogą mieć różne preferencje dotyczące rozwiązań architektonicznych. Celem jest nauczenie jak łatwo i szybko można zmieniać architekturę kodu z jednego podejścia do innego.

Część 1
1. Zapoznanie z prostym kawałkiem kodu, który łatwo i szybko można zrozumieć
2. Dyskusja jak prosto i szybko można rozszerzać taki kawałek kodu metodą kopiuj-wklej
równocześnie zmniejszając jego czytelność
3. Podzielenie kodu na mniejsze części (metody, klasy, interfejsy) z użyciem podejścia
Piramidy Refaktoryzacji
4. Nauka wbudowanych automatycznych refaktoryzacji w środowisku IntelliJ lub Eclipse
5. Zasady SOLID jako podstawy do podziału architektury na mniejsze części

Część 2
1. Zapoznanie z kodem z części 1, gdzie nowa funkcjonalność została dodana bez
dokonania jakichkolwiek refaktoryzacji
2. Przedstawienie kolejnej dodatkowej funkcjonalności, którą chcemy dodać do projektu
3. Dyskusja o tym, że możemy to zrobić szybko, ale dalej obniżając czytelność i jakość kodu
4. Wykonanie “ekstrakcji punktów rozszerzenia” jako wynik “podróży refaktoryzacyjnej” z użyciem koncepcji Piramidy Refaktoryzacji
5. Dostarczenie nowej funkcjonalności jako nowa implementacja “punktu rozszerzenia” z użyciem TDD

Szkolenie jest bardzo intensywne i na podstawie doświadczeń (tj. przeprowadzenia go wiele razy) proponowane podejście do 2 dni po 4 godziny. Takie podejście pozwala także programistom na wrócenie do ich codziennych zajęć na pozostałą część dnia. Na życzenie, szkolenie może także zająć 1 dzień (bardzo intensywny) lub zostać rozszerzone do dwóch pełnych dni.

Poziom: początkujący lub średnio zaawansowany, aczkolwiek starsi programiści także wielokrotnie twierdzili, że dowiedzieli się wielu nowych rzeczy, którymi mogli się następnie podzielić z zespołem. Podczas szkolenia nauczysz się jak zacząć od najmniejszych refaktoryzacji, aby następnie zauważać wzorce projektowe, które wyłaniają się z relacji pomiędzy mniejszymi klasami.
“Refaktoryzacja do wzorców” jest tematem drugiej części tego szkolenia.

Zapytaj o szkolenie