безопасны ли встроенные классы и UINTS в kotlin для использования?

#android #kotlin

#Android #kotlin

Вопрос:

Когда я пытаюсь использовать UInt , я получаю это предупреждающее сообщение:

Это объявление является экспериментальным, и его использование должно быть помечено символом ‘@kotlin.ExperimentalUnsignedTypes’ или ‘@OptIn(kotlin.ExperimentalUnsignedTypes::class)’

То же самое происходит, когда я пытаюсь создать встроенные классы (что UInt и есть):

Функция «встроенные классы» является экспериментальной

Эти функции могут быть действительно полезными, но эти предупреждающие сообщения просто мешают мне использовать их на случай, если что-то нарушит код в будущем. Реалистичен ли этот страх?

Ответ №1:

Kotlin выпускает экспериментальные функции для тестирования сообществом и предоставления отзывов. Они по определению не являются полностью стабильными функциями и, следовательно

  • может не иметь обратной совместимости
  • находиться на ранней или поздней стадии процесса эволюции
  • могут быть полностью изменены или даже удалены в будущей версии

Следовательно, вам определенно не следует использовать экспериментальные функции в критических проектах, поскольку

  • они нестабильны и могут иметь проблемы
  • в случае, если экспериментальная функция будет изменена или удалена в будущем выпуске, вам потребуется дополнительная работа по рефакторингу при обновлении Kotlin до более новой версии

При этом, если проект, в котором вы собираетесь использовать UInt , не критичен, продолжайте и используйте его, но просто будьте осторожны с вышесказанным.

Здесь очень хорошо объясняется стабильность компонентов Kotlin.