Kotlin привнёс множество новинок и удобств для Android разработчиков после долгого застоя в Java. И как любой реформатор есть, те кто отнеся положительно, и отрицательно к нему.
В статье разбирается почему Extension Function в Kotlin. По мнению автора проблемы заключаются в том, что: 👉 Расширения на DTO — нарушение шаблона Data Transfer Object 👉 Расширения специфичны и трудно понять какая функция обычная, а какая расширение 👉 Расширения разбросаны по всему проекту, образуя помойку 👉 Не замокать функции расширения при юнит-тестировании 👉 Есть вероятность перекрытия функции расширения одноименной функцией, размещенной внутри расширенного класса 👉 Расширение привязано к классу, а не к объекту, и это может вызвать путаницу