Otwarte zapisy na: Pragmatyczna refaktoryzacja z użyciem technik Domain Driven Design (Java/PHP)

Formuła on-line z wykorzystaniem komunikatorów video.

Kod: refactor-DDD
Kategoria: Warsztaty eksperckie DDD
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 2 dni
Prowadzący: Jakub Pilimon
Mariusz Gil
Grupa docelowa: developerzy
Koszt:
1600 zł + 23% VAT
Lokalizacja: online
Data: 18.01.2021 - 19.01.2021
Zapisy do: 10.01.2021

Przekształcenia “Extract Method”, “Replace If with Guardian” oraz “Extract Object” poprawiają czytelność kodu, ale nie ratują projektów, których bazowy model jest zły.

Jak w bezpieczny i pragmatyczny sposób dokonać refaktoryzacji, która przypomina wymianę kluczowej części systemu? Poniższy warsztat przedstawia szereg typowych problemów projektowych skategoryzowanych na bazie produkcyjnego, audytorskiego i konsultacyjnego doświadczenia z szeregu projektów z różnych dziedzin biznesowych.

Nie jest to kolejny warsztat, w którym krok po kroku przechodzimy po katalogu typowych “zapachów” kodu i sposobów ich eliminacji. Podczas zajęć analizujemy też architektoniczne problemy, których naprawa wykracza poza standardowe ramy refaktoryzacji, ale których bezpieczne wykonanie może owocować dostarczeniem wartości biznesowej bez 3-miesięcznego przestoju. Zdobywasz konkretną mapę nawigacyjną wraz z narzędziami pozwalającymi skutecznie identyfikować i eliminować wieloletnie problemy występujące w systemie. Wszystko to w sposób bezpieczny, poparty dobrymi praktykami inżynierskimi, Domain-Driven Design oraz możliwością odwrotu.

Podczas warsztatu poznasz także sposoby rozmowy z odbiorcami biznesowymi, którzy nie do końca są przekonani do podejścia refaktoryzacji. Pokażemy Ci konkretne metryki biznesowe, budujące wspólne zrozumienie pomiędzy zespołem deweloperskim, a interesariuszami biznesowymi.

Po warsztacie będziesz potrafić identyfikować i naprawiać problemy architektoniczne i implementacyjne wykorzystując podejście Domain-Driven Design, analizować historię repozytorium, metryki i stabilność kodu, także w kontekście podejścia Test-Driven Development, programowania obiektowego/funkcyjnego, modularyzacji i wielu innych.

Program Szkolenia

  1. Typowe przypadki
    1. Co zrobić z duża i nieestetyczną klasą?
    2. Co zrobić z dużą i estetyczną klasą?
    3. Jak naprawić odwieczny problem - brak spójności danych?
    4. Moja klasa/moduł ma bardzo dużo zależności i bardzo dużo logiki biznesowej, jak to podzielić?
    5. Bazowy model mojego modułu jest niedopasowany do potrzeb biznesu, co zrobić?
    6. Jak naprawić niewydajne i bardzo złożone odczyty danych?
    7. W moim projekcie brak jasno wydzielonych granic, jak to naprawić?
  2. Sprawdzona Ścieżka Refaktoryzacji
    1. Odkrywanie i opisywanie problemu
      1. Drivery architektoniczne
    2. “Sprzedawanie” i marketing rozwiązań
      1. Odbiorca techniczny
        1. Egoless programming
      2. Odbiorca biznesowy
        1. Wektor nowej funkcji biznesowej
        2. Wektor nowej funkcji dla nowych klientów
        3. Wektor nowej funkcji dla jednego z nowych klientów
        4. Odwracanie zmian
    3. Lokalizacja prawdziwych problemów
      1. Zbieranie i interpretowanie metryk
      2. Wykrywanie punktów krytycznych
      3. Identyfikacja “zapachów”
      4. Kod stabilny vs kod zmieniany
      5. Analiza historii repozytorium
      6. Podejście Domain-Driven Design
    4. Planowanie zmian
      1. Efekt “Brzydkiego Kaczątka”
      2. Problem “You are never done”
    5. Wprowadzanie zmian
      1. Refaktoryzacja mechaniczna/taktyczna
      2. Refaktoryzacja architektoniczna/strategiczna
    6. Wdrażanie zmian
      1. Cykle i mikrocykle
    7. Obserwacja efektów
      1. Bezpieczny odwrót
  3. Refaktoring ciągły
    1. Wsparcie ze strony IDE
    2. Identyfikowanie szwów
      1. Wspólne zrozumienie i Edukacja
        1. Code Review
        2. ArchUnit i inne narzędzia
    3. Konwencje jako driver architektoniczny
    4. Refaktoring bez znajomości problemu biznesowego
      1. Jak to robić bezpiecznie?
  4. Refaktoring przygotowujący
    1. Nowe funkcje biznesowe
    2. Naprawa obecnych funkcji biznesowych
    3. Naprawa atrybutów jakościowych
    4. Budowanie zaufania
    5. Metryki biznesowe jako element marketingu refaktoryzacji
  5. Wdrażanie zmian
    1. Testy
      1. Odkrywanie szwów
      2. Technika ułatwiania testów poprzez obniżanie szwów
      3. Testy charakterystyki systemu
      4. Testy i szwy jako odkrywanie granic modułów i uwalnianie potencjałów biznesowych
    2. Problem Big Bang Release
    3. Technika Step by Step
    4. Parallel Models jako jedyny sposób bezpiecznej strategicznej refaktoryzacji
      1. Bezpieczny odwrót
      2. Logi
      3. Zaawansowane metryki
      4. Samoleczący się system
      5. Możliwość codziennego budowanie zaufania do interesariusza projektowego
  6. Wykorzystanie Domain-Driven Design
    1. Hermetyzacja tego CO system powinien robić w serwisy aplikacyjne
    2. Hermetyzacja tego JAK i DLACZEGO system się tak zachowuje w Building Blocks DDD
    3. Praca nad słownictwem domenowym
    4. Zarządzanie wartością jest łatwiejsze niż encją
    5. Odkrywanie Value Objects, Agregatów oraz Polityk
    6. Polityki - hermetyzacja zmienności poza stabilnym interfejsem
    7. Rozwijalność i czytelność systemu poprzez trójpodział logiki
      1. Operations
      2. Policy
      3. Decision Support
    8. Podejście funkcyjne
    9. Hermetyzacja złożoności w jednym miejscu
    10. Podejście "od domeny" zamiast podejścia "od procesu"
    11. Separacja modelu pod kątem podatności na zmiany i niestabilności
  7. Wprowadzanie zmian
    1. Poziomy modelu
    2. Zmiana API
      1. API publiczne vs API prywatne
    3. Coupling, Coupling Logiczny i Data Coupling


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy będą wspólnie poprowadzić Twoje szkolenie.

Zapisz się na szkolenie

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Twoje dane osobowe przetwarzamy, aby udzielić odpowiedzi na Twoje pytanie. Administratorem Twoich danych osobowych jest Bottega It Minds Sławomir Sobótka. Przysługuje Ci prawo wniesienia sprzeciwu wobec przetwarzania, prawo dostępu do danych, prawo żądania ich sprostowania, usunięcia lub ograniczenia ich przetwarzania. Szczegółowe informacje dotyczące przetwarzania Twoich danych osobowych znajdują się TUTAJ.

Regulamin świadczenia usług drogą elektroniczną, który znajduje się TUTAJ.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.