Zdobycie umiejętności modyfikacji architektury kodu na bardziej rozszerzalną, czytelną i testowaną poprzez zastosowanie wzorców projektowych.

- powrócą z pomysłami zmian w organizacji pracy w swoich zespołach aby umożliwić ciągłą poprawę zastanego kodu legacy do czystego kodu
- będą praktykować refaktoryzacje kodu w kierunku wzorców projektowych
- poznają bliżej wybrane wzorce projektowe
- doświadczą czy, kiedy i jak pracować nad redukcją długu technicznego
Uczestnicy będą pracować na żywo wraz z trenerem nad ciągłą poprawą jakości kodu, od najmniejszych zmian powodujących lepszą czytelność i oszczędność czasu potrzebnego do jego zrozumienia aż do wprowadzenia wzorców projektowych. Wzorce te umożliwiają zastosowanie sprawdzonych i powtarzalnych rozwiązań architektonicznych dla podobnych grup problemów / wyzwań.
Czysty kod jest bardzo znanym terminem, który został wprowadzony przez wujka Boba. Opisuje, jak powinien wyglądać dobry kod poprzez zasady umożliwiające jego utrzymanie. Są to różne reguły jak SOLID oraz atrybuty, takie jak czytelność, rozszerzalność, testowalność i inne.
Podczas warsztatu zostanie omówiona koncepcja Piramidy Refaktoryzacji, która definiuje grupy zagadnień do pracy z zastanym kodem legacy jako zależne od siebie warstwy.
- Czysta logika sterowania
- Ekstrakcja mniejszych metod
- Budowa mniejszych klas
- Poszukiwanie wzorców projektowych
- Czysta Architektura
Wzorce projektowe są powszechnymi rozwiązaniami podobnych grup problemów. Okazały się przydatne i pomocne ze względu na ich przydatność do ponownego użycia i skuteczność.
Kiedy ilość linii kodu jest coraz większa, to najczęściej brakuje jakiegoś wzorca projektowego. To wtedy myślimy „gdybym tylko wcześniej użył(a) wzoca strategii / stanu / łańcucha odpowiedzialności zamiast tych wszystkich zagnieżdżonych instrukcji warunkowych if-else …”. I właśnie to te spostrzeżenia prowadzą nas do przeprowadzenia refaktoryzacji do wzorców projektowych we właściwym czasie – nie za wcześnie i nie za późno.
Pozostałe 25% szkolenia jest poświęcone części inspiracyjno – motywacyjnej, co pozwala szukać usprawnień jak sprawić, by porządkowanie zastanego kodu legacy stało się codziennym nawykiem i częścią procesu tworzenia oprogramownia. To z kolei umożliwi utrzymanie długu technicznego pod kontrolą.
Jest to szkolenie głównie na temat refaktoryzacji do czystego kodu i wzorców – oraz o architekturze kodu właściwej na dany moment dla obecnych wymagań. Różne zespoły mogą preferować różną architekturę, a celem tego szkolenia jest pokazanie, jak łatwo możemy zmieniać architekturę kodu do nowych wymagań biznesowych.
Dzień 1 – zawartość szkolenia Refaktoryzacja do Czystego Kodu
Czyszczenie kodu małymi krokami
- Przegląd projektu do pracy nad poprawą jakości
- Wymówka : To tylko jeszcze jeden if…
- Przegląd zautomatyzowanych refaktoryzacji w IntellIJ
- Refaktoryzacja na żywo w małych krokach
- Nawyki efektywności osobistej wpływające na jakość kodu
- Czysty Kod a Piramida Refaktoryzacji
- Zasady SOLID a Piramida Refaktoryzacji
Czysty kod jako sposób na rozszerzalność i testowalność
- Przegląd “rozszerzonego” projektu do pracy nad poprawą jakości
- Nowe Wymagania + Brak Konserwacji = (Bardziej) “Brudny” Kod
- Nadchodzą kolejne wymagania biznesowe
- Refaktoryzacja w kierunku uzyskania punktów rozszerzenia
- Czysty Kod to kod rozszerzalny
- Nawyki efektywności zespołu wpływające na jakość kodu
- Implementacja dodatkowej funkjonalności z użycien TDD
Główne zagadnienia na pozostałe dni
- praktyka refaktoryzacji do wzorców projektowych
- powiązanie wpływu procesu tworzenia oprogramowania na jakość kodu
Refaktoryzacje kodu legacy zakończone implementacją poniższych wzorców
- Interpreter
- Chain of Responsibility
- Fluent Builder
- Iterator
- State
Refaktoryzacje kodu legacy zakończone implementacją poniższych wzorców
- Template
- Bridge
- Composite
- Factory Method
- Abstract Factory
- Adapter