Kotlin - Lepszy kod cz.1

Tym razem dosyć ogólny tekst na temat udogodnień w Kotlin'ie. Dlaczego Kotlin pozwala pisać lepszy kod?

Zanim zacznę jednak wychwalać wszystkie zalety języka od JetBrains'ów, to warto żebym nakreślił dwie kwestie, które nieco zaburzają ten utopijny obraz.

Krzywa uczenia się

Pierwszym problemem jest tak zwana krzywa uczenia się (Learning curve). Wpadając w rozdmuchany świat jednoliniowych klas (o tym później) nie zdajemy sobie sprawy, że Kotlin nie odczaruje wszystkich dotychczasowych bolączek.

Po eksplozji entuzjazmu nastaje rozczarowanie, a na sam koniec i tak musimy szukać i czytać tak jak to było w javie.

Drugi problem polega na tym, że czytając kod od bardziej doświadczonych programistów Kotlin'a można się mocno pogubić. Język ten istotnie redukuje ilóść pisanego kodu, ale też mam wrażenie, iż często redukuje jego czytelność.

Zdając sobie sprawę z powyższych problemów, zamierzam przedstawić kilka elementów, które skutecznie skracają i czynią kod czytelniejszym.

Data classes

Często wykorzystujemy klasy do przechowywania informacji.

Kotlin wychodzi nam na przeciw i pod ukryciem zamienia rozwleczone klasy POJO w jedno-liniowe data class.

Po uruchomieniu tego kodu zostanie wypisane:

Pies ma na imie Czarek
Nowy wlasciciel psa to Darek

Var vs val

Troche podobnie do Javascript'u nowe zmienne deklarujemy za pomocą słowa kluczowego var.

Zmienna taka jest mutable czyli możemy zmienić jej wartość po zadeklarowaniu. Za to zmienna immutable val już nie pozwoli na przypisanie nowej wartości.

Kod się nie skompiluje poprawnie i otrzymamy taki bład:

Error:(6, 4) Val cannot be reassigned

Dla mnie jako młodego programisty ważne jest to żeby zastanowić się już na etapie deklarowania zmiennej czy będzie ona zmieniać wartość czy nie. Mam wtedy większe poczucie kontroli nad kodem.

forEach

Zamiast pisać kolejny raz ten sam schemat pętli w javie, możemy w Kotlin'ie użyć po prostu forEach.

Gdyby ktoś pytał to możliwe jest także użycie forEachIndexed. Wiecej informacji tutaj :).

Companion object

Statici jakie znamy w javie zastąpione zostały przez companion object znane z języka Scala. Jednym z zastosowań jest oczywiście tworzenie klas typu Singleton. W kotlinie jest to bardzo łatwe.

Zmienne możemy wywoływać bezpośrednio na obiekcie klasy. Co do comapnion object to można z nim zrobić dużo więcej, ale jest to już temat na inny post.

Zakończnie

Kotlin oferuje na prawdę wiele ciekawych rozwiązań i myślę, że pojawi się jeszcze kilka tekstów na ten temat. A ja dziękuję Ci za przeczytanie tego materiału i zachęcam do sprawdzenia pozostałych wpisów na blogu ;).

shop
Otwórz Sklep Play

Zachęcam cię do odwiedzenia mojej strony na Google Play store i sprawdzenia wszystkich moich aplikacji.