Какой опыт работы с константами

«Какой опыт работы с константами» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android константы обычно объявляются в companion object или в отдельном файле Constants.kt. Используются для хранения неизменяемых значений, например, ключей SharedPreferences, имен экранов, URL-адресов.

Пример:

class Constants {
    companion object {
        const val API_BASE_URL = "https://api.example.com"
        const val PREF_USER_TOKEN = "user_token"
    }
}

Лучшие практики:

  • Для констант, используемых в одном классе, объявлять их внутри этого класса.
  • Для глобальных констант – в отдельном файле.
  • Избегать "магических чисел" – заменять их на именованные константы.
  • Использовать const val для примитивов и строк (компилятор заинлайнит их).

Нюансы:

  • В Kotlin const val работает только с примитивами и String.
  • Для сложных объектов (например, списков) использовать val + @JvmField.