Refaktoryzacja z Wykorzystaniem Traitów
Kolejna technika która pozwala nam doprowadzić wielką i brzydką klasę do porządku . Czas na czyszczenie! Tym razem dokonamy tego z wykorzystaniem traitów !
Jak stosować?
Powiązane ze sobą metody zbierz razem i wyodrębnij je do traita. Nazwij go odpowiednio a następnie w klasie z których metody te zostały wzięte użyj tego traita ! Tyle i tylko tyle.
Czym to jest?
Jest to niczym czyszczenie przestrzeni w danej klasie. Możesz na to patrzeć, jak na czyszczenie pokoju, przez zebranie wszystkich powiązanych rzeczy i umieszczenie ich w dedykowanej szufladzie .
To proste, prawda? Ma sens. Do jednej wkładasz bluzy, do drugiej swetry a do trzeciej spodnie...
I naprawdę, nawet jeśli zamierzasz pójść dalej z refaktoryzacją, to jest to wciąż dobry pierwszy krok - i zazwyczaj ostatni jakiego potrzebujesz .
A jeśli potrzebujesz zobaczyć jak działa dana funkcjonalność - wystarczy przejść do odpowiedniego traita, gdzie znajdują się wszystkie z tym związane metody .
Kiedy stosować?
Warto to szczególnie zastosować w sytuacji, kiedy posiadasz kilka powiązanych w jakiś sposób metod. Możesz to wykryć chociażby po ich nazwach, dla przykładu: completed, uncomplete, complete...
Również rozważ to w klasach które mają bardzo wiele metod.
Zalety
Klasa którą w ten sposób zrefaktoryzujesz nie będzie już tak ogromna i przytłaczająca...
Do tego metoda ta jest szczególnie przydatna, kiedy chcesz wszystko uporządkować, zrefaktoryzować ale równocześnie nie chcesz utracić twojego świetnego API. Ta technika właśnie ci na to pozwoli .
A o tym ludzie bardzo często zapominają. Za bardzo skupiają się na całej architekturze. W konsekwencji ucierpi na tym czytelność kodu.
Tak to już wygląda, im bardziej zbliżasz się do tej idealnej architektury, tym bardziej kod będzie nieczytelny. Wszystko ma swoje wady i zalety . Pamiętaj, że wymiany są zawsze, na każdym kroku.
A to jest bardzo ważne, by API było naturalne, proste, intuicyjne...
Nigdy nie ma tak, że coś jest zawsze lepsze.
Musisz sam rozważyć, czy jest to lepsze ponieważ chcesz zachować porządek czy może wolisz zachować pożądane API. Jeśli zależy ci na tym drugim - warto rozważyć wyodrębnienie traita nawet do pojedynczego użytku .
Podsumowanie
Świetna, prosta i naturalna technika refaktoryzacji. Jednak jak ze wszystkim - wymaga rozwagi. Są zalety, ale są i wady. Z całą pewnością warto stosować!
Kończąc
Dziękuję ci za lekturę tego artykułu oraz zapraszam cię do komentowania, udostępniania oraz zerknięcia na inne moje artykuły . Szczególnie te związane z refaktoryzacją.
A tym czasem życzę ci dobrego dnia, bywaj !