Функции-расширения в Kotlin: использовать или нет?

kotlin

Kotlin dilemma: Extension or Member — статья о том, в каких случаях стоит использовать функции-расширения, а в каких нет.

Другие полезные статьи на тему Kotlin:

Функции-расширения — это методы, которые можно добавить к любому классу вне зависимости от того, имеете вы доступ к его исходному коду или нет. Например:

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

  1. Inline-функции. Существует известная рекомендация, что функции высшего порядка стоит помечать с помощью ключевого слова inline. Тогда компилятор включит их код прямо на место вызова, вместо того чтобы делать настоящий вызов. Kotlin не позволяет делать инлайновыми методы класса, но позволяет делать инлайновыми функции-расширения.
  2. Объект со значением null. В отличие от классических методов, функции-расширения можно создать даже для nullable-типов. Например:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий