Tworzenie kodu według najlepszych praktyk
2 godz. 45 min · Full-stack i Programowanie
Rafał PiekaraSoftware KomandosNie zrozumiesz SOLIDa bez teoretycznych podstaw. Przejdziemy przez założenia stojące za każdą z nich. Przeanalizujemy problemy, które możesz spotkać oraz dowiesz się dlaczego ciągle jeszcze tak wielu programistów nie stosuje się do tych zasad.
Ruby i Typescript to technologie, które świetnie odzwierciedlają uniwersalizm SOLIDa. Te złote zasady działają w językach dynamicznie typowanych i interpretowanych jak Ruby oraz przy statycznym typowaniu na przykładzie Typescript.
Zanim zabierzesz się za programowanie warto poćwiczyć SOLIDny sposób myślenia. Zmierzysz się z zadaniami, w ramach których będziesz projektować kod tak, aby wszystkie zasady SOLID znalazły w nim swoje zastosowanie.
Prawda jest taka, że kod, z którym w większości pracujemy ma swoją historię. Czasami historia ta jest tak bolesna, że klasy i metody są zagmatwane, poplątane i trudne w utrzymaniu. Gdy dotrzesz do tego miejsca będziesz mieć w arsenale wszystkie potrzebne narzędzia, żeby zmierzyć się z zadaniami praktycznymi, które przekształcą kod legacy w SOLIDne arcydzieło.
Tak ważny temat, jak testowanie nie może zostać pominięty. Między innymi po to też stosujemy zasady SOLID, żeby nasz kod praktycznie sam się testował. Napiszesz więc testy, których wzorce możesz wykorzystać w dowolnym projekcie, dowolnej technologii, jeśli tylko kod, który testujesz będzie spełniał wymagania zasad SOLID.
Nie ma znaczenia, czy dopiero zaczynasz przygodę z programowaniem, czy też jesteś starym wyjadaczem, który klasami i interfejsami myśli przy zagryzaniu tosta na śniadanie. Ten kurs jest właśnie dla Ciebie. Technologia ani język programowania też nie mają znaczenia. Zasady SOLID to uniwersalny zbiór. Ich znajomość sprawi, że Twój kod będzie lepszy, łatwiejszy w utrzymaniu i odporny na perturbacje i zmiany.
Pora na wskazówki do ostatniej zasady SOLID Zasady TAB odwrócenia zależności.
Wskazówka numer jeden skup się na abstrakcyjnych Abstrakcje pozwalają
Ci wydzielić dobre zależności.
Abstrakcje pozwalają tworzyć te zależności, dobrze nimi zarządzać.
Wobec czego spróbuj je definiować jeszcze przed napisaniem kodu, ale też
nie przesadzaj z ich ilością.
Wskazówka numer 2 Szukaj zależności Szukaj zależności w kodzie.
Dobrą wskazówką do szukania takich zależności będzie identyfikowanie
zagnieżdżonych IF ów w Twoich aplikacjach, zwłaszcza takich, które w swoim ciele
korzystają z innych serwisów, wywołują jakieś serwisy.
Taki IF to jest dobre miejsce, żeby poszukać okazji do wydzielenia
zależności i wstrzyknięcia jej np.
w konstruktorze czy jako parametrze do metody.
No i wskazówka numer 3 określ punkty wstrzyknięcia tych zależności.
Skoro je identyfikujesz, to określ też punkty wstrzyknięcia.
I znowu to wskazówką będą jakieś switche swatche gdzieś gdzie mamy bardzo podobne
zachowanie w zależności od jakiegoś prostego parametru prostej wartości, tak
jak mieliśmy to wcześniej w jednym z przykładów na przykładzie
rodzaju notyfikacji jaką wysyłamy do użytkownika na tej samej zasadzie
wstrzykiwać zależności i identyfikować punkt tego wstrzyknięcia.
Wobec czego określać te punkty tam, gdzie zidentyfikuje?
Gdzie można wykorzystać zależność Znajdź punkt, Gdzie można ją wstrzyknąć?
No i co? I przechodzimy do zadania.