Kotlin Developer
6.21K subscribers
264 photos
8 videos
359 links
Самый топовый канал по Kotlin

По вопросам сотрудничества и рекламы: @NadikaKir

Мы на бирже: https://telega.in/c/KotlinSenior
Download Telegram
Какой толк от inline-функций, как компилируется сама функция и места её использования?

Каждая лямбда это анонимный класс с реализацией единственного метода. Если часто вызывать эти лямбды, будет создано много очень классов, а они вообще то занимают память.

Когда функция объявляется с модификатором inline, её тело становится встраиваемым, т.е. оно подставляется вместо обычного вызова функции.

Если отметить функцию модификатором inline, компилятор не будет генерировать вызов функции в месте её использования, а просто вставит код её реализации.
CI, кодстайл и TDD: обзор практик для повышения качества кода

Я видел не во сне, а наяву атакующие корабли, пылающие под четырьмя вложенными if-else, и лучи CI с кучей сканирований у ворот Тангейзера, вызывающие лютую боль разработчиков. Меня зовут Максим Морев, и я техлид в Газпромбанке.

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

Читать статью
Как работают crossinline и noinline?

Не все функции, переданные в аргумент, можно делать встроенными(например когда результат функции нужно передать дальше, для этого данные нужно хранить в классе). помечая в inline-функции аргументы как noinline, мы решаем проблему(одни функции будут встроены, другие же по классике реализуются в анонимном классе)
crossinline ->
return@someFun - local return
return - non-local return
метка crossinline запрещает non-local return.
Пишем бота-кликера на Kotlin для Lineage 2

Еще не все новогодние салаты были съедены, “Ирония судьбы” уже просмотрена, а до начала рабочей недели еще целая вечность и нужно было придумать себе развлечение на оставшиеся праздники. Предвкушая ностальгию я открыл Lineage 2, одну из самых популярных MMORPG “нулевых” на СНГ пространстве. Однако, самому играть уже не хотелось и пришла идея автоматизировать это дело.

Читать статью
Как компилируются extension-функции и как использовать их из Java?

extension-функции - это тупо статический метод, в который передаётся объект приёмник. Чтобы вызвать в джаве нужно указать имя класса, созданный из имени файла, где находится данная функция.
Что выведет следующий код?
Что выведет следующий код?
Anonymous Quiz
7%
90000 109000
80%
90000 104500
8%
45000 100000
5%
90000 100000
Платформа из красного кирпича: как настроить окружение в Kotlin Multiplatform Mobile

Первое, в чём может возникнуть затруднение у Android разработчика при переходе на ККМ - это быстрая настройка окружения. Официальный сайт Kotlin не пестрит подробными инструкциями, и можно потратить несколько часов в поисках нужной информации. В данной статье мы пройдёмся по этапам настройки проекта.

Читать статью
Можно ли сделать extension к интерфейсу? Тайпалиасу? Функциональному типу?

Интерфейс - да
Псевдонимы типов - да
функциональный тип - нет(там есть Литералы функций с объектом-приёмником)
companion/object - да
👩‍💻 Принципы SOLID простым языком с примерами для Android на Kotlin

Темой этого ролика является принципы SOLID ну и так как автор Android разработчик, то все 5 принципов SOLID он будет показывать на основе простого Android приложения и использовать язык программирования Kotlin.
Please open Telegram to view this post
VIEW IN TELEGRAM
Чистый код: как писать код, который легко читать

Для начала мы обсудим, зачем вам вообще может понадобиться писать более читаемый, а не краткий код. Затем мы рассмотрим стратегии, как это делать в случае:

• Именования переменных, классов и функций
• Вспомогательных функций
• Комментариев к коду
• Перечислений/словарей/запечатанных классов и так далее
• Упорядочивания и именования пакетов

➡️Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Может ли функция быть одновременно member и extension? Как её использовать?

Да, может.
Если в классе есть и функция-член, и функция-расширение с тем же возвращаемым типом, таким же именем и применяется с такими же аргументами, то функция-член имеет более высокий приоритет.

Как использовать? Перегружать методы и не ломать потом голову.
👩‍💻Библиотека «Room» для начинающего Android-разработчика

Здравствуй, дорогой читатель. Каждый Android-разработчик сталкивался (или столкнётся во время своей профессиональной карьеры) с задачей, в которой необходимо хранить большое количество изменяемых данных. В данной статье будет разобрана библиотека от Google - Room.

В статье будет рассказано об основных компонентах библиотеки и будет разобран базовый, не очень сложный пример.

Статья предназначена для новичков, не знакомых с данной библиотекой, но, желательно, имеющих базовые знаниях о SQLite, Kotlin Coroutines, Kotlin Flow, MVVM.

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
MutableList vs List

List представляет последовательный список элементов. List представляет неизменяемую (immutable) коллекцию, которая в основном только обеспечивает получение элементов по позиции. Изменяемые списки представлены интерфейсом MutableList. Он расширяет интерфейс List и позволяют добавлять и удалять элементы.
👩‍💻Kotlin: это что и зачем нужен

Что такое Kotlin? Зачем нужен Kotlin? Где используют этот язык программирования. Чем он отличается от языка Java. Стоит ли переходить с Java на Kotlin. Зарплаты котлин-программистов по уровню квалификации.
Please open Telegram to view this post
VIEW IN TELEGRAM
Упрощаем создание FragmentFactory при помощи dsl котлина

Фрагменты в андроид разработке стали привычным способом написания ui и со временем, для удобства разработки, появилось много нового функционала. Один из таких примеров - использование своей реализации FragmentFactory. Об этом я и хотел бы поговорить.

Читать статью