Przejdź do treści

Szkolenie Clean Code

Nauczysz się zamieniać trudny w utrzymaniu kod w taki, który łatwo czytać, testować i zmieniać.

  • Czas trwania: 2 dni
  • Poziom: średniozaawansowany
  • Forma: warsztat dla zespołu
Zapytaj o termin Pobierz program (PDF)

Kod, który rozumiesz po pół roku, zmieniasz w godzinę, a nie w tydzień. Pisany w pośpiechu działa na początku, ale z czasem każda zmiana kosztuje więcej: długie funkcje, mylące nazwy i ukryte zależności sprawiają, że poprawka w jednym miejscu psuje coś w innym.

Na szkoleniu pracujesz na przykładach z prawdziwych projektów: najpierw czytasz kod, który trudno zmienić, a potem krok po kroku zamieniasz go w taki, który łatwo modyfikować. Szkolenie opiera się na drugim wydaniu książki „Clean Code” Roberta C. Martina (Uncle Bob) z 2025 roku. Przykłady są w JavaScript i TypeScript, a zasady działają w każdym języku.

Stary kod bez testów omawiam osobno na szkoleniu Legacy Code, przeglądy kodu na szkoleniu Code review, a pisanie testów na szkoleniu Testy jednostkowe.

Program

2 dni

  • Czym jest czysty kod?
    • Koszt złego kodu w projekcie
    • Kod czytany częściej niż pisany
    • Gdzie zasady z książki warto łagodzić, np. bardzo krótkie funkcje
  • Czytelność: nazwy, komentarze, formatowanie
    • Nazwy, które ujawniają intencję
    • Spójny słownik domeny
    • Kiedy komentarz pomaga, a kiedy maskuje problem
    • Automatyczne formatowanie i lintery
  • Funkcje
    • Jedna odpowiedzialność i jeden poziom abstrakcji
    • Liczba argumentów, efekty uboczne
    • Wczesny powrót zamiast zagnieżdżeń
  • Obsługa błędów
    • Wyjątki, kody błędów czy typ Result (np. neverthrow): kiedy które
    • null, undefined i strictNullChecks
  • Refaktoryzacja krok po kroku
    • Techniki z katalogu Martina Fowlera: Extract Function, Inline Function, Rename Variable, Move Function
    • Małe kroki pod ochroną testów
  • Testy jako część czystego kodu
    • Czytelny test: przygotowanie, działanie, sprawdzenie
    • Testy, które pozwalają refaktoryzować bez strachu
  • Zapachy kodu (code smells)
    • Długie metody, duże klasy, zazdrość o cudze dane (Feature Envy)
    • Duplikacja i martwy kod
  • Zasady SOLID
    • SRP - Single Responsibility Principle
    • OCP - Open-Closed Principle
    • LSP - Liskov Substitution Principle
    • ISP - Interface Segregation Principle
    • DIP - Dependency Inversion Principle
    • Każda zasada na przykładzie refaktoryzacji
  • Klasy i moduły
    • Spójność, małe interfejsy, granice z kodem zewnętrznym
    • Pokrewne zasady: DRY, KISS, YAGNI

Dla kogo?

  • Dla programistów JavaScript i TypeScript, którzy piszą nowy kod i chcą, żeby za rok dało się go łatwo zmienić i przejrzeć.
  • Dla zespołów, które chcą ustalić wspólne zasady pisania kodu.

Co musisz umieć?

  • Swobodnie pisać w JavaScript lub TypeScript.
  • Pisać proste testy jednostkowe.

Czego się nauczysz?

  • Nazwiesz zmienne i funkcje tak, że kod czyta się bez komentarzy.
  • Rozpoznasz, kiedy komentarz pomaga, a kiedy ukrywa problem w kodzie.
  • Rozbijesz długą funkcję na małe, z jednym poziomem abstrakcji.
  • Dobierzesz sposób obsługi błędów (wyjątek albo typ Result) i opanujesz null dzięki strictNullChecks.
  • Napiszesz testy, które ułatwiają zmiany zamiast je blokować.
  • Zastosujesz zasady SOLID na przykładach z prawdziwego kodu.
  • Rozpoznasz zapachy kodu i dobierzesz do nich refaktoryzację.
  • Poprawisz kod małymi krokami, tak że po każdym testy przechodzą.
  • Podzielisz kod na klasy i moduły o jasnych granicach.

Trener

@piecioshka

Piotr Kowalski

W branży IT od 2008 roku. Od 2014 jest mentorem dla wielu developerów. Jako trener spędził na sali szkoleniowej kilka tysięcy godzin, a na LinkedIn ma 52 rekomendacje. Każde jego szkolenie to dawka solidnej wiedzy oraz humoru.

Więcej na stronie "O mnie"

Zorganizujmy to szkolenie w Twoim zespole

Napisz, z czym pracujecie i na jakim poziomie jest grupa. Odpowiem z propozycją programu dopasowanego do Waszego projektu.

Zapytaj o szkolenie Pobierz program (PDF) Zobacz wszystkie szkolenia