Legacy JS

Kod: JS-legacy
Kategoria: JavaScript
Forma: 20% wykłady/80% ćwiczenia
Czas trwania: 2 dni
Odbiorcy: architekci, developerzy
Zapisy: Indywidualne zamówienie i dopasowanie dla grupy.
Logistyka: W siedzibie klienta lub w innym dowolnym miejscu.

Holistyczne podejście do kodu legacy w języku JavaScript. W pierwszej części wykonamy analizę wysokopoziomową i znajdziemy strategiczne obszary, które mają największy koszt utrzymania. Wykorzystamy analizę behawioralną kodu opartą na historii Git jako technikę wspierającą audyty architektoniczne.

Przykłady będą bazować na znanych projektach open-source tj:

  • Frameworki frontendowe (np. React, Angular)
  • Frameworki backendowe (np. Express, Next.js)
  • Aplikacje biznesowe (np. Netlify CMS, Spectrum)
  • Bundlery (np. Parcel, Webpack)
  • Frameworki do testów (np. Jest, Mocha)

Następnie w części programistycznej nauczymy się taktycznej refaktoryzacji, aby stopniowo ulepszać kod w skali mikro. Podczas ćwiczeń typu kata refaktoryzacyjna nauczysz się:

  • zmieniać skomplikowaną logikę biznesową z kodu proceduralnego na obiektowy i funkcyjny
  • usuwać zaszyte zależności w kodzie
  • rozdzielać logikę biznesową od kodu DOM

Wyróżniki szkolenia

  • nowoczesne techniki wychodzące poza statyczną analizę kodu
  • krytyczne spojrzenie na modne i bardzo aktywne projekty open-source 
  • praca z legacy w skali makro (analiza strategiczna) i w skali mikro (taktyczna refaktoryzacja)

Program Szkolenia

Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.

  1. Strategiczna analiza dużych projektów open-source ze świata JS
    1. narzędzie codescene.io
    2. hotspoty - skomplikowany kod, który się często zmienia
    3. coupling w czasie - coupling niewidoczny w samej strukturze kodu
    4. wiek kodu jako driver do podziału na moduły i do wyodrębniania bibliotek
    5. nadmierna potrzeba koordynacji w kodzie i niewłaściwe granice zespołów
    6. utrata wiedzy przy odejściu kluczowego programisty
  2. Taktyczna refaktoryzacja kodu JS
    1. opis obecnego zachowania
      1. text-based approval testing
      2. characterization unit tests
      3. testowanie kodu zależnego od DOM
    2. szwy w kodzie - zmiana zachowania kodu bez edycji w miejscu
    3. najczęstsze "code smells"
      1. skomplikowana logika warunkowa i brakujące abstrakcje
      2. wymieszane poziomy abstrakcji
      3. złe rozmieszczenie odpowiedzialności
      4. primitive obsession
      5. shotgun surgery
      6. feature envy
    4. wybrane refaktoryzacje
      1. wyciąganie funkcji/klas
      2. usuwanie pętli
      3. wprowadzanie brakującej abstrakcji
      4. rozdzielenie DOM od logiki biznesowej
      5. wstrzykiwanie zależności
      6. zastąpienie "this" przez domknięcia


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

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

Zamów 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.