Sobes.tech
Junior — Middle

Jakie powody pozwalają na użycie dyrektywy TODO z dowolnym typem danych lub strukturą?

sobes.tech AI

Odpowiedź od AI

W Kotlinie dyrektywa TODO() to funkcja, która zawsze wyrzuca wyjątek NotImplementedError. Jest zadeklarowana z typem zwrotnym Nothing, co oznacza, że funkcja nigdy nie zwraca wartości i przerywa wykonywanie.

Dzięki typowi Nothing, TODO() można używać w dowolnym miejscu, gdzie oczekiwany jest dowolny typ danych lub struktura. Pozwala to na tymczasowe oznaczenie kodu bez konieczności martwienia się o konkretny typ zwracanego wyniku. Na przykład:

fun getUser(): User = TODO("Zaimplementuj pobieranie użytkownika")

val number: Int = TODO()

val list: List<String> = TODO()

W ten sposób TODO() służy jako wygodny marker dla nieukończonego kodu, umożliwiając kompilację programu i wskazanie miejsc, które wymagają dokończenia, niezależnie od typu danych.