Skip to content

68. Refaktoryzacja kodu PHP — kiedy, jak i wzorce refaktoryzacji

This content is not available in your language yet.

Refaktoryzacja kodu PHP

Refaktoryzacja to proces poprawiania struktury kodu bez zmiany jego zachowania. Martin Fowler w książce „Refactoring” skatalogował 60+ wzorców refaktoryzacji. Najważniejsze dla PHP: Extract Method, Replace Conditional with Polymorphism, Extract Class i Remove Dead Code.

  • Każdy developer spędza więcej czasu na modyfikacji niż pisaniu nowego kodu
  • Refaktoryzacja bez testów jest ryzykowna — to motywacja do pisania testów
  • Code smell to sygnał że potrzeba refaktoryzacji
  1. Wyjaśnić czym jest refaktoryzacja i czym nie jest (nie to samo co rewrite)
  2. Opisać typowe code smells (sygnały złego kodu)
  3. Omówić trzy wzorce refaktoryzacji z przykładami PHP
  4. Pokazać jak testy chronią podczas refaktoryzacji
  1. Definicja refaktoryzacji — zmiana struktury, zachowanie bez zmian
  2. Kiedy refaktoryzować: przed nową funkcją, po code review, przy bug fix
  3. Code smells: długa funkcja, duplikacja, długa lista parametrów, komentarze wyjaśniające kod
  4. Extract Method — wyciągnięcie bloku kodu do osobnej funkcji
  5. Replace Conditional with Guard Clause — early return zamiast zagnieżdżeń
  6. Replace Magic Number with Constant — stałe zamiast literałów
  7. Testy jako siatka bezpieczeństwa podczas refaktoryzacji

Przykład 1

Extract Method: długa funkcja → kilka małych

Przykład 2

Guard Clause: if-else drzewo → early return

Przykład 3

Magic Number: 0.23 → stała VAT_RATE
  1. Wstęp — dług techniczny
  2. Definicja refaktoryzacji
  3. Kiedy refaktoryzować
  4. Code smells
  5. Extract Method
  6. Guard Clause (early return)
  7. Testy przy refaktoryzacji
  8. Podsumowanie i bibliografia

Zrefaktoruj kod z projektu!

Weź swój miniprojekt i zastosuj Extract Method na najbardziej rozbudowanej funkcji. Porównaj wersję przed i po w opracowaniu.