Techniki pracy z kodem

Dla kogo

Szkolenie przeznaczone dla programistów i liderów technicznych, którzy chcą wprowadzić praktykę ciągłego refaktoryzowania.

Wymagane umiejętności

Oczekiwania:

  • Uczestnik zna konkretny język programowania na poziomie podstawowym.
  • Uczestnik zna programowanie obiektowe na poziomie podstawowym.

Szkolenie otwarte jest prowadzone w języku Java.

Szkolenie zamknięte jest prowadzone głównie w językach:

  • Java
  • C#
  • C/C++

Po wcześniejszych ustaleniach szkolenie może być zrealizowane w innych językach.

KORZYŚCI ZE SZKOLENIA

Obecnie większość komercyjnych przedsięwzięć opartych jest na rozwiązaniach, które są rozwijane latami. Wyzwaniem dla zespołów jest praca z kodem zastanym (ang. legacy code) oraz odwieczny dylemat co i jak refaktoryzować na co dzień.

Zagadnienia Technik pracy z kodem skupiają się na tym, jak pisać kod który czyta się jak książkę oraz refaktoryzować złożone systemy.

Podstawowy program

Moduł. 1
Software Craftsmanship
Moduł. 2
Formułowanie algorytmu
Moduł. 3
Komentarze
Moduł. 4
Nazewnictwo
Moduł. 5
Upraszczanie metod
Moduł. 6
Komponowanie metod
Moduł. 7
Naturalny Porządek Refaktoryzacji™
Moduł. 8
Obsługa sytuacji wyjątkowych [opcjonalnie]
Moduł. 9
Wybrane zagadnienia testowania jednostkowego [opcjonlanie]

Szczegółowy program

Moduł. 1
Software Craftsmanship
  • Dlaczego czysty kod ma znaczenie?
  • Prostota, komunikacja i elastyczność
  • Dług techniczny
  • Koszt złej jakosci kodu
  • Efektywność pracy z kodem
Moduł. 2
Formułowanie algorytmu
  • Co oznacza „kod, który wyraża algorytm”
  • Złożoność intencjonalna i przypadkowa
  • Przenoszenie algorytmu do kodu
Moduł. 3
Komentarze
  • Sens stosowania komentarzy
  • Dobre i złe komentarze
  • Komentarze prawne
  • Komentarze wyjaśniające
  • Wyjaśnianie zamiarów
  • Ostrzeżenia
  • Komentarze TODO
  • Komentarze wzmacniające
  • Wtórne komentarze
  • Komentarze niewymagane
  • Nadmiarowość
  • Znaczniki pozycji
  • Klamry zamykające
  • Zakomentowany kod
  • Informacje nielokalne
Moduł. 4
Nazewnictwo
  • Nazwy mają znaczenie
  • Intencje w nazwach
  • Unikanie dezinformacji
  • Uwidacznianie różnic
  • Nazwy łatwe do wyszukania
  • Przedrostki
  • Nazwy klas
  • Nazwy metod
  • Dowcipność
  • Analogie i kalambury
  • Zastosowanie kontekstu
  • Nazwy, których powinieneś unikać
  • Długość nazw
Moduł. 5
Upraszczanie metod
  • Wielkość metod
  • Bloki i wcięcia
  • Odpowiedzialność metody
  • Instrukcja switch
  • Nazwy opisowe
  • Argumenty i ich ilość
  • Command-Query Separation
  • Wyjątki
  • Powtórzenia strukturalne
  • Metryka McCabe’a
  • Co i kiedy refaktoryzować
  • Refaktoryzacje upraszczające wyrażenie warunkowe
  • Wprowadzanie wzorca Null Object
Moduł. 6
Komponowanie metod
  • Refaktoryzacje
    • Extract method
    • Inline method
    • Inline temp
    • Replace temp with query
    • Introduce explaining variable
    • Split temporary variable
    • Remove assignments to parameters
    • Extract Method Object
    • Substitute Algorithm
Moduł. 7
Naturalny Porządek Refaktoryzacji™
  • Różne wymiary refaktoryzacji
  • Refaktoryzacja jako proces
    • Technika Formułowania Algorytmu
    • Technika Utylizowania Komentarzy
    • Technika Doboru Nazw
    • Technika Doboru Długości Nazwy
    • Technika Analizy Złożoności Metody wg McCabe’a
    • Technika Dekomponowania Metody
    • Technika Odtwarzania Testu
    • Technika Małych Kroków™
  • Proces Naturalnego Porządku Refaktoryzacji™
Moduł. 8
Obsługa sytuacji wyjątkowych [opcjonalnie]
  • Wyjątki a wyniki zwracane
  • Kontrolowane czy niekontrolowane wyjątki?
  • Tworzenie hierarchii wyjątków
  • Obsługa referencji null
  • Dostarczanie kontekstu
  • Praktyki tworzenia konstrukcji try-catch-finally
Moduł. 9
Wybrane zagadnienia testowania jednostkowego [opcjonlanie]
  • Wyjątki a wyniki zwracane
  • Kontrolowane czy niekontrolowane wyjątki?
  • Tworzenie hierarchii wyjątków
  • Obsługa referencji null
  • Dostarczanie kontekstu
  • Praktyki tworzenia konstrukcji try-catch-finally

Parametry szkolenia

Czas trwania
3 x 8h
Forma zajęć
Ćwiczenia - 70%, wykład - 30%
Kod
NSKOD
Wielkość grupy
do 10 osób

Jak zamówić

« lista szkoleń