#android #kotlin
#Android #kotlin
Вопрос:
Когда я пытаюсь использовать UInt
, я получаю это предупреждающее сообщение:
Это объявление является экспериментальным, и его использование должно быть помечено символом ‘@kotlin.ExperimentalUnsignedTypes’ или ‘@OptIn(kotlin.ExperimentalUnsignedTypes::class)’
То же самое происходит, когда я пытаюсь создать встроенные классы (что UInt
и есть):
Функция «встроенные классы» является экспериментальной
Эти функции могут быть действительно полезными, но эти предупреждающие сообщения просто мешают мне использовать их на случай, если что-то нарушит код в будущем. Реалистичен ли этот страх?
Ответ №1:
Kotlin выпускает экспериментальные функции для тестирования сообществом и предоставления отзывов. Они по определению не являются полностью стабильными функциями и, следовательно
- может не иметь обратной совместимости
- находиться на ранней или поздней стадии процесса эволюции
- могут быть полностью изменены или даже удалены в будущей версии
Следовательно, вам определенно не следует использовать экспериментальные функции в критических проектах, поскольку
- они нестабильны и могут иметь проблемы
- в случае, если экспериментальная функция будет изменена или удалена в будущем выпуске, вам потребуется дополнительная работа по рефакторингу при обновлении Kotlin до более новой версии
При этом, если проект, в котором вы собираетесь использовать UInt
, не критичен, продолжайте и используйте его, но просто будьте осторожны с вышесказанным.
Здесь очень хорошо объясняется стабильность компонентов Kotlin.