Lepszy kod cz.2

Kliknij i wspomóż mnie :)

Kotlin

W tym trochę dłuższym poście kontynuuję zagadnienie czystego kodu w Kotlin'ie. Wspomnę m.in. o pętlach czy osławionym Null safety.

Pętle

Jeżeli chodzi o pętle w Kotlin'ie to nie dość, że są one krótsze niż w Javie to dodatkowo mogą stać się dużo bardziej czytelne poprzez użycie range expression.

W tym przykładzie program wypisze co drugą liczbę od 6 do 0. Zakres (range) znajduje się po słowie kluczowym in.

Bardzo ułatwia sprawę to, iż zamiast pisać lista.length - 1 jako ostatni element możemy użyć słowa kluczowego until.

Podczas pracy z obiektami typ Map przydatne jest użycie:

Destructuring Declarations

Pozwala na rozbicie Pair, data class czy właśnie Map już w deklaracji pętli.

Null safety

Ciężko policzyć jak często programiści Javy dostali NullPointerException. Przyzwolenie na to żeby zmienne przyjmowały wartości null przysporzyło na prawdę wiele problemów i odbiło się szerokim echem w środowisku.

Twórcy języka postanowili odpowiedzieć na ten problem i wprowadzili dwa operatory:
? oraz !!.

Znak ? pozwala zmiennej żeby była null.

Elvis operator (?:) jest takim if-else'em, który zwraca wartość po lewej stronie jeżeli nie jest null a w innym wypadku to co jest po prawej stronie.

Operator ?. jest tzw. bezpiecznym wywołaniem. Potrafi on zwrócić null jednak jeśli połączymy go z let to kod wykona się tylko wtedy kiedy obiekt nie jest null.

Użycie operatora !! na obiekcie sprawi, że będzie się on zachowywać jak w Javie.

Expressions

Kotlin pozwala na to żeby bloki takie jak when czy if zwracały wartość. Przypomina to trochę delegację, gdzie zamiast na sztywno deklarować wartość zmiennej pozwalamy, żeby wynikła ona z kodu.

Więcej wyjaśni pewnie poniższy kod.

Jeszcze więcej zyskujemy, gdy użyjemy when. Jest to taka alternatywa dla switcha z Javy.

Funkcje

Nie tylko wiele nowości, ale także usprawnień już istniejących elementów niesie język od JetBrains'ów.

W Kotlin'ie możemy nazywać parametry, definiować ich domyślne wartości oraz deklarować czy mogą one być null czy nie.

Infix functions

Ciekawym rodzajem funkcji, który może sprawić że kod będzie sie trochę łatwiej czytać są infix functions. Przypominają one trochę funkcje rozszerzające oraz pozwalają ominąć operator kropki.

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.