Lepszy kod cz.1

Kliknij i wspomóż mnie :)

Kotlin

Wstęp

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.

Zaciemnianie poprzez skracanie

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 ilość 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.

Data Classes

Po uruchomieniu tego kodu zostanie wypisane:

Pies ma na imię Czarek
Nowy wlaściciel psa to Darek

Var vs val

Trochę 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łąd:

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. Więcej informacji tutaj:

forEachIndexed

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 companion object to można z nim zrobić dużo więcej, ale jest to już temat na inny post.

Dziękuję Ci za przeczytanie tego materiału 😀 Jeżeli spodobało Ci się to o czym piszę, możesz sprawdzić więcej materiałów na blogu lub udostępnić znajomym. Będzie mi bardzo miło 😊

O mnie

Jestem młodym programistą, który dumnie dzierży wiele pasji takich jak bieganie czy piwowarstwo domowe. Jedną z nich jest także programowanie i o tym właśnie zamierzam tutaj pisać.

Zobacz więcej

Najnowsze posty

Kliknij i wspomóż mnie :)

Zostańmy w kontakcie

* Wymagane
Kliknij i wspomóż mnie :)
shop
Otwórz Sklep Play

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