Szkolenie Clean Code
Nauczysz się zamieniać trudny w utrzymaniu kod w taki, który łatwo czytać, testować i zmieniać.
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,undefinedistrictNullChecks
- Wyjątki, kody błędów czy typ
- 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 opanujesznulldziękistrictNullChecks. - 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
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.
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