Centrum wiedzy o technologiach i pracy w IT

Refaktoring kodu – kiedy jest potrzebny?

Ostatnia aktualizacja 20 lipca, 2023

Starzejący się kod cierpi na wiele przypadłości. Najczęściej rozrasta się w coraz większym chaosie, zatracając swoją pierwotną strukturę i czytelność. Za tym podążają coraz rzadsze testy, a w efekcie powstaje twór, na który nie chce spojrzeć żaden programista. Ale któryś musi, bo to ich praca. Na tym etapie mamy już do czynienia najprawdopodobniej z kodem legacy. Czy jest jakiś ratunek? Tak i nosi o nazwę: refaktoring. Na czym polega i kiedy go przeprowadzić?

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Refaktoring w skrócie

Refaktoring to inaczej przebudowa istniejącego kodu w taki sposób, aby poprawić istniejące funkcjonalności oraz oczyścić go ze zbędnych elementów. Według zasad tworzenia czystego kodu – im mniej linijek, tym lepiej. Celem refaktoryzacji jest poprawienie projektu bez wprowadzania nowych elementów do struktury programu. Po przeprowadzonej refaktoryzacji powinna poprawić się czytelność dzięki uporządkowaniu struktury. Przejrzysta architektura ułatwia utrzymywanie i rozbudowywanie kodu, a także pozytywnie wpłynie na dalsze prace nad wydajnością.

Zobacz: Najpopularniejsze języki

Refaktoring – kiedy przychodzi na niego czas?

Jak poznać moment, w którym konieczna będzie refaktoryzacja kodu? Istnieje kilka oznak:

Przestarzała technologia to najbardziej prawdopodobna przyczyna, która doprowadzi w końcu do konieczności restrukturyzacji kodu. Postęp technologiczny postępuje szybko, a firmy nie zawsze za nim nadążają. Najczęściej wynika to z braku czasu na implementację najnowszych rozwiązań.

Brak czasu wynikający z kumulacji bieżących projektów często prowadzi do pośpiechu – i to jest kolejna aspekt. Kod powstający szybko jest narażony na niedociągnięcia w swojej strukturze. Ważne jest, aby kod działał natychmiast i nikt nie przejmuje się architekturą. Jeśli dołoży się do tego rotacja osób pracujących nad kodem, zyskujemy chaotyczny zlepek różnych elementów bez wypracowanego stylu.

Poza tym nie wszystkie rozwiązania zadziałają w świecie rzeczywistym. Mylna ocena projektu i zaangażowanie zbyt dużych zasobów już od samego początku, mogą skutkować stworzeniem produktu, który się nie sprawdza.

Sprawdź: Tworzenie gier

Jak rozpoznać, że potrzebny jest refaktoring kodu?

Rozpoznanie, kiedy rozpoczynać refaktoring kodu może być problemem dla niedoświadczonych programistów. Pomimo przydatności wprowadzania szybkich i małych poprawek, to jednak ciągłe przeróbki kodu nie zawsze są uzasadnione. Jedną z metod pozwalającą zdecydować, czy refaktoring jest potrzebny jest szukanie tzw. zapachów kodu.

Termin zapachy kodu został rozpowszechniony w książce Martina Fowlera pt. „Refaktoryzacja. Ulepszanie struktury istniejącego kodu.” Zestawienia zapachów kodu zawierają przykłady często popełnianych błędów programistycznych, które pogarszają jakość oprogramowania. Jednym z najprostszych zapachów jest długa metoda, czyli rozbudowana funkcja, która powinna zostać na kilka mniejszych. Warto się z nimi zapoznać, ponieważ znajomość zapachów kodu z pewnością pozwoli podejmować bardziej świadome decyzje o konieczności refaktoringu.

Dalsza część tekstu znajduje się pod materiałem wideo:

Popularne techniki refaktoringu

  • Ekstrakcja metody: Wyciąganie powtarzających się fragmentów kodu i umieszczenie ich w oddzielnej funkcji lub metodzie. Ta technika zwiększa czytelność kodu i ułatwia jego modyfikacje.
  • Ekstrakcja klasy: Wyodrębnianie logicznie powiązanych funkcji i danych poprzez utworzenie nowej klasy. Dzięki tej technice kod staje się bardziej zorganizowany i modularny, a ponowne wykorzystanie kodu jest ułatwione.
  • Zamiana parametrów na obiekt: Upakowanie wielu parametrów funkcji w jednym obiekcie. Dzięki temu kod staje się bardziej czytelny, a zmiany w strukturze danych łatwiejsze do wprowadzenia.
  • Eliminacja duplikacji: Wykrywanie i usuwanie powtarzających się fragmentów kodu. Pozwala to uniknąć błędów wynikających z rozbieżności między duplikatami i podnosi jakość oraz utrzymanie kodu.

Podsumowanie

Najlepiej byłoby nie doprowadzić do sytuacji, w której programista będzie musiał poświęcić dużo czasu na refaktoring, dlatego tak ważne są regularne audyty kodu i wprowadzanie małych optymalizacji. Jeśli kod będzie całkowicie zaniedbany, to w zależności od jego skomplikowania, naprawa takiej sytuacji może kosztować programistę wiele tygodni pracy.

Total
0
Shares
_podobne artykuły