w Delphi
Cel szkolenia
Zapoznanie uczestników z zasadami nowoczesnego tworzenia projektów Windows VCL Application.
Od czasu powstania Delphi oraz wprowadzania w nim metodyki tworzenia aplikacji przez prototypowanie minęło już prawie 20 lat. Podejście wizualne i komponentowe do dzisiaj jest bardzo wygodne przy realizacji niektórych zadań. Przez ostatnie lata praktyki te uległy jednak ogromnym zmianom, a podejście obiektowe do rozwoju i utrzymania systemów informatycznych stało się modelem dominującym, spychając paradygmat komponentowy na margines. Szkolenie ma zapoznać uczestników jak wykorzystać ogólnie przyjęte zasady tworzenia systemów informatycznych przy budowaniu i rozwoju klasycznych projektów Windows VCL w Delphi.
Podczas szkolenia pokażemy jak podejść do modernizacji w sposób ewolucyjny, tak aby stopniowo i bez większych rewolucji przekształcać duże projekty oparte na kodzie zdarzeniowym w bardziej nowoczesne systemy zorganizowane obiektowo.
Uczestnicy podczas szkolenia zyskają wiedzę w obszarach:
- Uaktualnia obowiązujących trendów projektowania systemów;
- Wykorzystania repozytorium Git;
- Kodowania w wersji zespołowej. Pracy w parach;
- Dzielenia się kodem źródłowym i pracy z cudzym kodem;
- Sposobu realizacji i wartości przeglądów kody źródłowego;
- Organizacji warsztatu pracy programisty;
- Dobrych praktyk refaktoryzacji kodu;
- Efektywnego wykorzystania typów generycznych i metod anonimowych;
- Tworzenia kodu re-używalnego i odpornego na błędy;
- Kodowania zgodnie z praktykami czystego kodu;
- Tworzenia kodu solidnego, czyli zorganizowanego obiektowo, w którym zależności jest niewiele, a obiekty są luźno powiązane ze sobą, co pozwala na ich łatwe włączanie, wyłączanie i zastępowanie;
- Wykorzystania architektury MVC, czyli Model-View-Controller;
- Łączenia zasady programowania obiektowego z interfejsem obiektowym budowanym nadal w sposób komponentowy oparty o zdarzenia;
- Modernizacji dużych i skomplikowanych projektów VCL z klasycznej architektury komponentowej do nowocześniejszej architektury obiektowej;
- Tworzenia testów jednostkowych i zarządzania nimi;
- Wstawiania zaślepek, czyli obiektów symulujących działanie bardziej skomplikowanych modułów do celów testowania.
Dla kogo
Szkolenie jest przeznaczone dla:
- Programistów Delphi, którzy od wielu lat tworzą aplikacje VCL z bogatym interfejsem użytkownika GUI;
- Programistów którzy chcą unowocześnić swój warsztat pracy;
- Kierowników zespołów, którzy chcą zaplanować proces modernizacji.
Plan szkolenia (agenda)
- Wprowadzenie
- Praca z Git. Zdalne i lokalne repozytorium
- Tworzenie gałęzi, rozgałęzienia i scalanie gałęzi
- Wykorzystanie Git++ (GitHub, GitLab, tid.): zgłaszanie poprawek, przeglądy kodu źródłowego, akceptowanie zmian, dyskusje online i dokumentowanie kodu, zgłaszanie poprawek do kodu i planowanie ulepszeń kodu źródłowego.
- Separacja modułów danych i odcinanie zbędnych zależności
- Zasady czystego kodu
- Czyszczenie dużych i zaniedbanych projektów
- Nazewnictwo i formatowanie kodu
- Złe zapachy kodu
- Stosowanie Class Helpers
- Definiowanie klas i użycie kolekcji (zastępowanie TStringList typami generycznymi)
- Refaktoryzacja istniejącego kodu
- Zastosowanie obiektowości, aby zwiększyć reużywalność kodu. Separacja samodzielnych podsystemów.
- Praktyki kodu solidnego
- Dobre praktyki programowania obiektowego
- Zastosowanie interfejsów do odcinania zależności między obiektami
- Prawo Demeter (Law Of Demeter)
- Wstrzykiwanie zależności i kontenery wstrzykiwania
- Singleton i fabryki produkujące obiekty
- Zasady SOLID
- Szyna powiadamiania obiektów - Event Bus
- Wzorce Gang of Four (przegląd wybranych wzorców)
- Automatyczne testowanie kodu.
- Testy jednostkowe, autonomizacja kodu (code decoupling)
- Zaślepki (mocks)
- Zalety nowoczesnej architektury w akcji (po migracji przykładowego projektu)
- Łatwiejszy rozwój projektu
- Większa reużywalność kodu
- Automatyczna kontrola bezpieczeństwa przez testy jednostkowe
- Wykorzystanie kodu w architekturze wielowarstwowej
- Przenoszenie kodu do aplikacji mobilnych w FireMonkey