Moje konto

WEEKENDOWY MARATON PROGRAMISTYCZNY
Refaktoryzacja w praktyce

699,00 

Weekendowy maraton programistyczny to okazja do praktycznego zdobycia twardych umiejętności w zaledwie dwa dni!

Spotkajmy się w sobotę i niedzielę 14 września 2024. Po spotkaniu otrzymasz pełne nagrania, więc nawet jeśli nie będziesz w stanie wziąć udziału we wszystkich spotkaniach – będą one dla Ciebie dostępne w formie video.

Co otrzymujesz?

  • 8 modułów wypełnionych seniorską wiedzą
  • Networking i nowe kontakty
  • 10 godzin nagrań z wszystkich spotkań (dostęp na platformie)
  • Praktyka, praktyka i jeszcze raz praktyka!

Czego się nauczysz?

  • Dowiesz się czym jest, a czym nie jest Refaktoryzacja
  • Odkryjesz zapachy kodu i zrobisz wszystko, by Twój kod już nie śmierdział!
  • Poznasz praktyczne techniki refaktoryzacyjne
  • Dowiesz się jak testy wpływają na poprawną refaktoryzację
  • Połączysz refaktor z wzorcami projektowymi

Tym razem będzie dużo zadań!

  • Konkretna refaktoryzacja
  • Code Review innych uczestników
  • Zaprogramujesz swoją pierwszą domenę

Brak w magazynie

Kategoria:

Patrzysz… kod. No kod, tylko że tak pomieszany i poplątany, że ktoś z pewnością kierował się zasadą “u siebie rób jak u siebie, a u obcego…”, no właśnie.

Biznes jest zadowolony, bo ich nie interesuje kodzik. U nich działa i do tego zarabia! 

Jak to się stało, że coś, co jeszcze wczoraj wydawało się czyste, dzisiaj wydaje się być straszne? Jak sobie z tym poradzić i czy da się do tego w ogóle nie dopuścić?

Poznaj refaktoryzację – sposób na utrzymywanie Twojego kodu na wysokim poziomie, niezależnie od tego czy pracujesz z kodem Legacy, czy z Green Field.

Opinie po ostatnich warsztatach

Weekendowy maraton: Agenda

Czym jest refaktoryzacja?
10:00 – 11:30

  • Poznajmy się!
  • Czym jest refaktoryzacja i skąd się wzięła?
  • Czy to się opłaca i kiedy warto?
  • Jak zrobić to źle / jak zrobić to dobrze?
  • Narzędzia refaktoryzacji (PHPStorm / Rector)
  • Narzędzia pomiarowe (phpinsights / phpstan)

Nasze warsztaty zaczynamy od małej integracji – w odróżnieniu od kursów video, warsztaty to miejsce na poznanie nowych ludzi a kto wie, może i nawet nowych szans biznesowych!

W tym miejscu będzie też możliwość udostępnienia swojego kodu do ćwiczeń, jeśli tylko będziesz tego chciał!

Potem z kopyta wejść w praktyczne problemy!

Przerwa kawowa (30 minut)

Coś mi tu śmierdzi, czyli zapachy kodu…
12:00 – 13:30

  • Czym jest zapach kodu?
  • Jak okiełznać gigantyczny kod?
  • OOP? Co poszło nie tak?
  • Gdy kod wpływa na coś innego…
  • Yagni – nie potrzebujesz tego!
  • Coupling – uwolnij się!

Poznaj łącznie 23 zapaszki i zadbaj o to, by Twój kod już nigdy nie śmierdział!

Poznaj code bloaters, nadużywanie programowania obiektowego, wiarołomnych unikaczy zmian, śmieciowy kod czy wiązacze tworzące zależności których nie chcesz!

To nie jest problem, że to wszystko może być w Twoim kodzie… Problemem jest to, że o tym nie wiesz!

Przerwa Obiadowa (60 minut)

Testowanie a refaktoryzacja
14:30 – 16:00

  • Dlaczego nie da się bez testów?
  • Jak pisać testy i nie zwariować?
  • Czy pisanie testów istniejącego systemu ma sens?
  • Na czym polegają testy konwencji?
  • Piramida testów a kod legacy – how to?

Zdradzę Ci tajemnicę, bez testów daleko nie zajedziesz… I nie chodzi tutaj wcale o to, że jeśli w Twojej aplikacji nie ma testów, to nic się nie da zrobić.

Jak testy wpływają na refaktor? Co zrobić jeśli wcześniej ich nie było? Jak zapewnić sobie ich prawidłowe dodanie? Tego dowiesz się w tym module!

Przerwa kawowa (30 minut)

Techniki refaktoryzacji
16:30 – 18:00

  • Zmiany strukturalne
  • Zmiany w nazewnictwie
  • Optymalizacja zarządzania danymi
  • Zmiany logiki biznesowej
  • Optymalizacja kontroli przepływu
  • Deduplikacja kodu
  • Zarządzanie zależnościami
  • Uproszczenie i usuwanie zbędnych elementów

Wiesz już jak wygląda zły kod… Teraz pora na rozwiązania!

Poznaj kategorie i najpopularniejsze metody refaktoryzacji w praktyce.

Za pomocą technik takich jak ekstrakcja metody, wydzielanie klasy, eliminacja duplikacji czy wprowadzenie DI dowiesz się jak zapanować nad chaosem i szybko rozwiązać problemy!

zakończenie pierwszego dnia warsztatów

Wzorce projektowe w akcji
10:00 – 11:30

  • Refaktoryzacja do ValueObject
  • Adapter – jak poradzić sobie z zastanym kodem, który całkiem dobrze działa?
  • Fasada – gdy procesów jest zbyt dużo
  • Obserwator czy event? Z czego lepiej korzystać?

Wzorce projektowe być może już znasz… Jeśli nie – koniecznie sprawdź kurs.

Jak mogą Ci pomóc w refaktoryzacji, a jak mogą Ci zaszkodzić?

W praktyce wdrożymy kilka popularnych wzorców, poznamy problemy źle wdrożonych patternów i zastanowimy się – jak to zrobić dobrze!

Przerwa kawowa (30 minut)

Praktyka czyni mistrza
12:00 – 13:30

  • Dostaniesz naprawdę zły kod…
  • I zobaczysz, jak zdobyte umiejętności sprawią, że nie taki refactor straszny jak go malują
  • 1,5h pracy własnej nad kodem i refaktoryzacją

W tym miejscu role się zamieniają!

Przez 1,5h będziesz w praktyce realizował refaktoryzację kodu Legacy.

Zobaczysz, że refaktoryzacja to nie tylko nic trudnego, ale też czysta przyjemność.

To co? Do kodu!

Przerwa Obiadowa (60 minut)

Code Review w praktyce!
14:30 – 16:00

  • Teraz pora na Code Review,
  • Otrzymasz kod kolegi do oceny i zobaczysz, co jeszcze można byłoby zrobić
  • Wspólnie przejdziemy przez wasze oceny i zastanowimy się, czego zabrakło, a co byłoby zupełnie niepotrzebne

Czas na CodeReview!

Przez 1,5h ocenisz kod swojego warsztatowego kolegi, a on Twój.

W ten sposób stworzymy synergię i wykorzystamy nasz wspólny potencjał.

100% praktyki produkcyjnej!

Sesja Q&A
16:00 – 16:15

  • Sesja Q&A
  • Analiza tego, czego się nauczyliśmy
  • Wrażenia po warsztatach

Po robocie… pogadajmy o robocie 😂

Sesja Q&A potrwa tyle ile będziemy chcieli. Pogadamy, pomyślimy i otworzymy się na networking, który na kursach video nie jest możliwy.

Dla każdego programisty PHP, niezależnie od poziomu.

Dobrze by było, gdyby choćby podstawy programowania obiektowego, nie były Ci obce, ale nie musisz znać frameworków, szczegółów implementacyjnych itd. Sam język wystarczy!

Im bardziej doświadczony jesteś, tym łatwiej zrozumiesz treść, ale materiał jest dla każdego!

Będziemy pracować w oparciu o PHP, czasem z elementami Laravela, jednak nie musisz znać tego frameworka.

Technologie jakich będziemy używać:

  • PHPStorm
  • RectorPHP
  • PHP Insights
  • PHPStan

Warsztaty trwają 2 dni, ale dostęp do materiałów masz dożywotni.

Jeśli nie masz czasu w ten weekend – możesz dołączyć i otrzymać nagrania.

Jeśli dysponujesz tylko częścią czasu – zajęcia na których Cię nie będzie obejrzysz na platformie!

Naturalnie, cena jest ceną brutto. Jeśli jesteś na przykład na B2B od ceny możesz odliczyć podatek VAT!

Otrzymasz dożywotni dostęp do materiałów na platformie.

Google Meets – tam otrzymasz dostęp poprzez kalendarz, ale przypomną Ci również mailem 15 minut przed rozpoczęciem imprezy!

Tak! Na początek dostaniesz samotny refactor, potem zrobimy wspólny Code Review.

Warsztaty to coś innego niż kurs Video. Warsztaty to okazja do poznania nowych kolegów, którzy tak jak Ty – jarają się kodem!

Zakup warsztaty a otrzymasz dostęp do platformy oraz na dzień przed wydarzeniem, zaproszenia do spotkania na google meets.

Wszystkiego co w agendzie 🙂

  • Weekendowy maraton programistyczny: Refaktoryzacja

    • Czym jest Refaktoryzacja?

      • Definicja

      • Skąd się wzięła Refaktoryzacja?

      • Po co?

      • Kiedy?

      • Za ile?

      • Dwa małe przykłady

      • Jak zrobić to źle?

        • Brak testów

        • Tylko przekształcenia

        • Brak wydzielenia kontekstów

        • Zmiana funkcjonalności

        • Brak kompatybilności wstecznej

        • Tylko nazwy i PSR

    • Zapachy kodu – czy kod może pachnieć?

      • Narzędzia

        • PHP insights

        • PHP Stan

    • Techniki refaktoryzacyjne

      • Techniki

        • Wydzielanie funkcji

        • Zmiana nazw

        • Zmiana struktury klas

        • Usuwanie komentarzy

          • Kod wymagający komentarza

          • Kod samo opisujący się

      • Narzędzia refaktoryzacyjne

        • PHPStorm

        • Rector

        • PHPMD

      • Refaktoryzacja w praktyce (live codding)

      • Drivery architektoniczne

    • Testowanie a Refaktoryzacja

      • Testy konwencji

      • Rola testów w refaktoryzacji

      • Czy pisanie testów istniejącego systemu ma sens?

    • Live codding: Wzorce projektowe a Refaktoryzacja

      • Czym są wzorce projektowe

      • Katalog wzorców

      • Refaktoryzacja w oparciu o wybrane wzorce

      • Tworzenie ValueObjectów które same się weryfikują

    • Teraz Ty!

      • Omówienie ćwiczenia do wykonania samodzielnie, z omówieniem narzędzi które są dostępne

      • Sesja Q&A

    • Code Review w praktyce

      • Przegląd i ocena kodu refaktoryzowanego przez kursantów

      • Wzajemne sprawdzenie kodu

      • Zastosowanie narzędzi do statycznej analizy kodu

        • PHPStan

        • PHP insights

    • Zakończenie szkolenia

    • Dodatkowe tematy

      • Live codding: Refaktoryzacja do domeny

      • Refaktoryzacja a wydajność

        • Czy czysty kod to szybszy kod?

          • Kod może działać wolniej

          • Kod zwolnił nieznacznie

          • Ale aplikacja jest szybsza w rozwoju

      • Refaktoryzacja dużych projektów

        • Planowanie refaktoryzacji dużych projektów

          • Pisz testy, wrócimy do Ciebie

          • Jak przekonać do tego biznes?

          • Czy to się opłaca?

          • Kiedy tego nie robić?

        • Stopniowa Refaktoryzacja

          • Techniki

          • Analiza systemu

          • Refaktoryzacja a strategia

        • Bubble context

W przypadku nie uzbierania grupy (minimum 5 osób) zastrzegam sobie prawo do odwołania lub przełożenia wydarzenia.