Насколько большой inline функция должна быть

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

Ответ

В Kotlin inline-функции полезны для уменьшения накладных расходов на вызовы лямбд, но их размер должен быть небольшим. Рекомендуется ограничиваться 1-3 строками кода.

Почему?

  • Чем больше inline-функция, тем больше байт-кода генерируется в местах её вызова.
  • Это может увеличить размер APK и ухудшить производительность.

Пример:

inline fun <T> measureTime(block: () -> T): T {
    val start = System.currentTimeMillis()
    val result = block()
    println("Time: ${System.currentTimeMillis() - start} ms")
    return result
}

Если функция сложная, лучше избегать inline или выносить часть логики в отдельные non-inline функции.