Recenzja książki „Refaktoryzacja. Ulepszanie struktury istniejącego kodu”

Recenzja książki „Refaktoryzacja. Ulepszanie struktury istniejącego kodu”

Ocena książki:

Postanowiłem co jakiś czas publikować recenzje ciekawszych przeczytanych przeze mnie książek. I tak oto przed Wami pierwsza z nich, recenzja książki „Refaktoryzacja. Ulepszanie struktury istniejącego kodu” napisana przez Martina Fowlera we współpracy z kilkoma innymi znanymi programistami.

Artykuł dostępny także w wersji angielskiej.

O czym jest książka

Któż z nas nie spotkał się z kodem spaghetti, pomieszanymi odpowiedzialnościami, kilkusetlinijkowymi funkcjami czy problemami z wprowadzeniem prostej modyfikacji do kodu? Nie ma chyba na świecie programisty, którego ominęła ta wąpiliwa przyjemność. Sytuacja ta zwykle jest efektem wielomiesięcznego lub wieloletniego zaniedbania kodu przez zespół programistyczny. Zazwyczaj wygląda to tak, że w celu dodania nowej funkcjonalności modyfikuje się lub dodaje dodatkowe linijki czy instrukcje warukowe do istniejącego kodu. Gdy sytuacja powtarza się wielokrotnie rodzi się kod, którego każdy boi się z czasem dotknąć i zmodyfikować z obawy przez zepsuciem już działających funkcjonalności. Jeśli znaleźliśmy się w takim położeniu to znaczy, że zapomnieliśmy o narzędziu zwanym refaktoryzacją.

Książka na wielu przykładach w przystępny sposób tłumaczy jak rozpoznawać przykłady złego kodu, a także pokazuje w jaki sposób poprawiać go aby był prostszy, bardziej czytelny i podatny na zmiany.
Fowler prezentuje ciąg przekształceń jaki należy wykonać aby bezpiecznie zmodyfikować istniający kod pod nowe wymagania. Cały czas podkreśla przy tym rolę testów jednostkowych i ich wpływ na powodzenie wszystkich operacji.
Książka wprowadza termin zwany zapachami kodu, które nie są niczym innym jak po prostu symptomami, które jeśli zaczynamy zauważać, czy czuć w swoim kodzie to znak, że najwyższy czas pomyśleć o refaktoryzacji. Ważne przy tym jest aby była ona przeprowadzana na bieżąco zgodnie z tak zwaną ‚zasadą skauta’. Zasada ta mówi, że jeśli realizując zadanie wchodzimy w jakiś kod to staramy się pozostawić go w stanie lepszym niż go zastaliśmy.

Przykłady napisane są w języku Java ale myślę, że programiści pracujący w innych językach nie powinni mieć żadnych problemów z ich zrozumieniem.

Zapachy kodu

Z zapachów kodu jakie Fowler opisuje można wymienić przykładowo:

  • zduplikowany kod,
  • długą metodę,
  • dużą klasę,
  • długą listę parametrów,
  • zazdrość o kod,
  • leniwą klasę,
  • instrukcję switch,
  • i wiele innych.

Po szczegóły zapraszam do zapoznania się ze spisem treści książki.

Podsumowanie

Moim zdaniem książka jest jak najbardziej warta uwagi i każdy szanujący się programista powinien się z nią zapoznać. Nie jest to książka dla początkujących, ale jeśli napisaliśmy już w swoim życiu kilka tysięcy linijek kodu na pewno docenimy rady które Fowler pragnie nam przekazać. Jeśli jeszcze jej nie czytałeś to polecam, życzę przyjemnej lektury.
Książce wystawiam zasłużoną ocenę 5/5 gdyż była dla mnie bardzo inspirująca i sam się wiele nauczyłem z niej. Pozycja obowiązkowa.

Ocena książki:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *