Dzisiejszy wpis będzie niecodzienny, bo zamiast kolejnej lekcji Javy (ta będzie w kolejny czwartek) zrobimy sobie proste ćwiczenie.
Pamiętacie metodę gumowej kaczuszki, o której Ania pisała ostatnio? To inna wersja tego samego konceptu. Moim zdaniem ta metoda jest lepsza na początku nauki, kiedy to niektóre elementy samej składni języka nie są dla nas oczywiste i uczymy się także w tym kierunku.
Metoda ta polega na tłumaczeniu sobie kodu linijka po linijce i opisywaniu, co dokładnie się dzieje — ale nie mam tutaj na myśli dokładnego opisu, co ta linijka kodu robi (np. że tutaj utworzy plik albo wyśle maila) a raczej to, jak jest zbudowana. Zaletą tej metody jest to, że mamy właściwie nieskończony zbiór materiałów do nauki (np. kody źródłowe Spring’a) i nie musimy zgłębiać się w to, co naprawdę robi dany kod (ani czy ma funkcjonalny sens), jednocześnie jest to naprawdę rewelacyjna metoda nauki samego języka i jego elementów!
Zacznijmy od przykładu żeby zobaczyć jak prosta i jednocześnie jak skuteczna jest to metoda.
Jako przykład wykorzystam przykładowy kontroler ze strony spring.io. Gotowe?
- w linijkach 1–3 importujemy klasy, których będziemy używać i które są w innym pakiecie
- w linijce 5 oznaczamy naszą klasę jako kontroler (dodajemy stereotyp w postaci adnotacji), dzięki czemu Spring ją właściwie rozpozna
- w linijce 6 tworzymy publiczną klasę o nazwie HelloWorldController
- w linijce 8 wskazujemy, że metoda, która znajduje się bezpośrednio poniżej, będzie uruchamiana zawsze, gdy ktoś wpisze w przeglądarce {adres naszej aplikacji}/helloWorld
- w linijce 9 deklarujemy tą metodę, będzie ona się nazywać helloWorld, będzie widoczna publicznie, przyjmuje jeden argument (parametr) — obiekt typu Model, do którego będziemy się odwoływali po jego nazwie — model; metoda ta zwróci nam ciąg znaków (obiekt typu String), który w tym wypadku Spring ‘zrozumie’ jako nazwę widoku do wyświetlenia (dzięki adnotacji w linijce 5)
- w linijce 10 wywołujemy metodę obiektu model (obiektu ten jest typu Model) o nazwie addAttribute, przekazując jej dwa argumenty (parametry) typu String — “message” oraz “Hello World!”
- w linijce 11 zwracamy z metody ciąg znaków (obiekt typu String) o treści “helloWorld”
Jak pewnie zauważyłaś, np w linijce 10, mimo że wiemy, co robi dana metoda, nie wnikamy w szczegóły — chodzi nam tylko o konstrukcję, możemy powiedzieć co ta linijka zrobi (jak w przypadku linijki 5) ale nie musimy. W tym całe piękno tej metody — możemy się uczyć na kodzie klas, o których działaniu nie mamy pojęcia!
Jeśli nie pamiętasz co robi jakiś element, pamiętaj, że zawsze możesz wrócić do poprzednich lekcji i przypomnieć sobie to, co potrzeba :)
Takie ćwiczenie możesz w przyszłości rozbudować np. poznając nową technologię — czytając jej kod źródłowy i jednocześnie mówiąc sobie na głos, co on robi, to świetny sposób na sprawdzenie, jak biegli jesteśmy w określonej technologii lub czego jeszcze musimy się pouczyć.
Tak więc, Kobiety do kodu! Przyjemnej lektury ;)