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.
Spójrzmy teraz na kontekst technologiczny, w jakim będziemy ten kurs przerabiać.
Wybrałem tutaj języki programowania, które będą najłatwiejsze w zrozumieniu i pozwolą
nam jak najbardziej skoncentrować się na esencji tego kursu, na
podstawach zasad SOLID, na ich praktycznym zastosowaniu i pierwszym takim językiem,
który wybrałem jest język Ruby, a język Ruby dlatego, że tak jak mówił jego twórca
Yuki Matsumoto, jest to język, który ma być jak najbardziej zbliżony do języka
naturalnego języka angielskiego i który pozwoli jak najlepiej skoncentrować
się na kluczowych elementach. Nie będziemy.
Rozpraszanie przez wszelkiego typu statyczne typowanie, adnotacje, różne
dziwne struktury kodu charakterystyczne dla wielu języków, które znamy.
Będzie maksimum treści, maksimum praktycznego zastosowania
i Ruby nam w tym pomoże, bo jest bardzo czytelnym językiem.
Więc język Ruby jako ten język, w którym większość przykładów będzie
tutaj zaprezentowana.
Będą także przykłady napisane w Javie i w skrypcie, żeby też to statyczne typowanie
mogło być pokazane, bo same zasady SOLID wymagają też niejako
statycznego typowania.
Wymagają też niejako definiowania interfejsów i pracy z typami i dzięki
właśnie statycznie typowane językowi jakim jest Java czy dzięki temu ostatecznemu
super testowi dla JavaScriptu, jakim jest TypeScript będziemy mogli te wszystkie
zastosowania praktycznie i czytelnie pokazać?
Więc Java, TypeScript i Ruby jako trzy języki, które się będą tutaj przewijać
i Zasady SOLID to zasady dotyczące organizacji kodu i budowania struktur w
kodzie, więc nie będziemy zwracać uwagi jaka baza danych jest
podpięta do aplikacji.
Zasady SOLID są agnostycy jeśli chodzi o bazę danych, tak samo zasady SOLID będą
agnostycy jeśli chodzi o framework.
Nie będę pokazywał tutaj przykładów na bazie konkretnego
frameworku backend owego.
Będzie dużo kodów, ale to nie będzie kod charakterystyczny dla
frameworka Ruby on Rails.
Będzie kod w Javie, ale to nie będzie kod charakterystyczny dla Springa, więc nie
będziemy mieć tutaj typowego powiązania z frameworkiem.
Będziemy się skupiać na tym jak te zasady zastosować w kodzie i sam język
programowania bez żadnych dodatków w zupełności nam do tego wystarczy.