Какой толк от inline-функций, как компилируется сама функция и места её использования?
Каждая лямбда это анонимный класс с реализацией единственного метода. Если часто вызывать эти лямбды, будет создано много очень классов, а они вообще то занимают память.
Когда функция объявляется с модификатором inline, её тело становится встраиваемым, т.е. оно подставляется вместо обычного вызова функции.
Если отметить функцию модификатором inline, компилятор не будет генерировать вызов функции в месте её использования, а просто вставит код её реализации.
Каждая лямбда это анонимный класс с реализацией единственного метода. Если часто вызывать эти лямбды, будет создано много очень классов, а они вообще то занимают память.
Когда функция объявляется с модификатором inline, её тело становится встраиваемым, т.е. оно подставляется вместо обычного вызова функции.
Если отметить функцию модификатором inline, компилятор не будет генерировать вызов функции в месте её использования, а просто вставит код её реализации.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Kotlin за час. Теория и практика.
Скачать PVS-Studio бесплатно: https://www.viva64.com/alishev
YouTube канал PVS-Studio: https://www.youtube.com/c/PVSStudioTool/
VK группа PVS-Studio: https://vk.com/pvsstudio_rus
Продвинутая Java - https://swiftbook.org/courses/415
ПОЛНЫЙ КУРС ПО SPRING…
YouTube канал PVS-Studio: https://www.youtube.com/c/PVSStudioTool/
VK группа PVS-Studio: https://vk.com/pvsstudio_rus
Продвинутая Java - https://swiftbook.org/courses/415
ПОЛНЫЙ КУРС ПО SPRING…
CI, кодстайл и TDD: обзор практик для повышения качества кода
Я видел не во сне, а наяву атакующие корабли, пылающие под четырьмя вложенными if-else, и лучи CI с кучей сканирований у ворот Тангейзера, вызывающие лютую боль разработчиков. Меня зовут Максим Морев, и я техлид в Газпромбанке.
То, что вы сейчас увидите, выросло из внутреннего стайлгайда, к которому мы пришли через тернии многочисленных код-ревью и разработанных сервисов. Я постарался собрать здесь все основные и просто интересные грабли, которые нам попадались, и показать решения с примерами и обзором возможных трудностей в процессе внедрения.
Читать статью
Я видел не во сне, а наяву атакующие корабли, пылающие под четырьмя вложенными if-else, и лучи CI с кучей сканирований у ворот Тангейзера, вызывающие лютую боль разработчиков. Меня зовут Максим Морев, и я техлид в Газпромбанке.
То, что вы сейчас увидите, выросло из внутреннего стайлгайда, к которому мы пришли через тернии многочисленных код-ревью и разработанных сервисов. Я постарался собрать здесь все основные и просто интересные грабли, которые нам попадались, и показать решения с примерами и обзором возможных трудностей в процессе внедрения.
Читать статью
Telegraph
CI, кодстайл и TDD: обзор практик для повышения качества кода
Я видел не во сне, а наяву атакующие корабли, пылающие под четырьмя вложенными if-else, и лучи CI с кучей сканирований у ворот Тангейзера, вызывающие лютую боль разработчиков. Меня зовут Максим, и я техлид в Газпромбанке. То, что вы сейчас увидите, выросло…
Как работают crossinline и noinline?
Не все функции, переданные в аргумент, можно делать встроенными(например когда результат функции нужно передать дальше, для этого данные нужно хранить в классе). помечая в inline-функции аргументы как noinline, мы решаем проблему(одни функции будут встроены, другие же по классике реализуются в анонимном классе)
crossinline ->
return@someFun - local return
return - non-local return
метка crossinline запрещает non-local return.
Не все функции, переданные в аргумент, можно делать встроенными(например когда результат функции нужно передать дальше, для этого данные нужно хранить в классе). помечая в inline-функции аргументы как noinline, мы решаем проблему(одни функции будут встроены, другие же по классике реализуются в анонимном классе)
crossinline ->
return@someFun - local return
return - non-local return
метка crossinline запрещает non-local return.
Пишем бота-кликера на Kotlin для Lineage 2
Еще не все новогодние салаты были съедены, “Ирония судьбы” уже просмотрена, а до начала рабочей недели еще целая вечность и нужно было придумать себе развлечение на оставшиеся праздники. Предвкушая ностальгию я открыл Lineage 2, одну из самых популярных MMORPG “нулевых” на СНГ пространстве. Однако, самому играть уже не хотелось и пришла идея автоматизировать это дело.
Читать статью
Еще не все новогодние салаты были съедены, “Ирония судьбы” уже просмотрена, а до начала рабочей недели еще целая вечность и нужно было придумать себе развлечение на оставшиеся праздники. Предвкушая ностальгию я открыл Lineage 2, одну из самых популярных MMORPG “нулевых” на СНГ пространстве. Однако, самому играть уже не хотелось и пришла идея автоматизировать это дело.
Читать статью
Telegraph
Пишем бота-кликера на Kotlin для Lineage 2
Еще не все новогодние салаты были съедены, “Ирония судьбы” уже просмотрена, а до начала рабочей недели еще целая вечность и нужно было придумать себе развлечение на оставшиеся праздники. Предвкушая ностальгию я открыл Lineage 2, одну из самых популярных MMORPG…
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Android Roadmap 2023 Все что вам нужно знать в 2023 году для андроид разработки
1. Выучить английский Upper-Intermediate
2. Java vs Kotlin Многопоточность в джава (треды ранблы) котлин корутины
3. ООП И TDD (SOLID, DRY, KISS, YAGNI) Чистый Код Роберт Мартин (шаблоны)
4. (видеокурс) Андроид и HolyBibleApp (гит) Чистая архитектура
5. XML…
2. Java vs Kotlin Многопоточность в джава (треды ранблы) котлин корутины
3. ООП И TDD (SOLID, DRY, KISS, YAGNI) Чистый Код Роберт Мартин (шаблоны)
4. (видеокурс) Андроид и HolyBibleApp (гит) Чистая архитектура
5. XML…
Как компилируются extension-функции и как использовать их из Java?
extension-функции - это тупо статический метод, в который передаётся объект приёмник. Чтобы вызвать в джаве нужно указать имя класса, созданный из имени файла, где находится данная функция.
extension-функции - это тупо статический метод, в который передаётся объект приёмник. Чтобы вызвать в джаве нужно указать имя класса, созданный из имени файла, где находится данная функция.
Что выведет следующий код?
Anonymous Quiz
7%
90000 109000
80%
90000 104500
8%
45000 100000
5%
90000 100000
Платформа из красного кирпича: как настроить окружение в Kotlin Multiplatform Mobile
Первое, в чём может возникнуть затруднение у Android разработчика при переходе на ККМ - это быстрая настройка окружения. Официальный сайт Kotlin не пестрит подробными инструкциями, и можно потратить несколько часов в поисках нужной информации. В данной статье мы пройдёмся по этапам настройки проекта.
Читать статью
Первое, в чём может возникнуть затруднение у Android разработчика при переходе на ККМ - это быстрая настройка окружения. Официальный сайт Kotlin не пестрит подробными инструкциями, и можно потратить несколько часов в поисках нужной информации. В данной статье мы пройдёмся по этапам настройки проекта.
Читать статью
Telegraph
Платформа из красного кирпича: как настроить окружение в Kotlin Multiplatform Mobile
Всем привет! Меня зовут Амет Хырхара, я Android разработчик в компании Joy Dev. Первое, в чём может возникнуть затруднение у Android разработчика при переходе на КММ - это быстрая настройка окружения. Официальный сайт Kotlin не пестрит подробными инструкциями…
Можно ли сделать extension к интерфейсу? Тайпалиасу? Функциональному типу?
Интерфейс - да
Псевдонимы типов - да
функциональный тип - нет(там есть Литералы функций с объектом-приёмником)
companion/object - да
Интерфейс - да
Псевдонимы типов - да
функциональный тип - нет(там есть Литералы функций с объектом-приёмником)
companion/object - да
Темой этого ролика является принципы 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
Telegraph
Чистый код: как писать код, который легко читать
Для начала мы обсудим, зачем вам вообще может понадобиться писать более читаемый, а не краткий код. Затем мы рассмотрим стратегии, как это делать в случае: Именования переменных, классов и функций Вспомогательных функций Комментариев к коду Перечислений/…
Может ли функция быть одновременно member и extension? Как её использовать?
Да, может.
Если в классе есть и функция-член, и функция-расширение с тем же возвращаемым типом, таким же именем и применяется с такими же аргументами, то функция-член имеет более высокий приоритет.
Как использовать? Перегружать методы и не ломать потом голову.
Да, может.
Если в классе есть и функция-член, и функция-расширение с тем же возвращаемым типом, таким же именем и применяется с такими же аргументами, то функция-член имеет более высокий приоритет.
Как использовать? Перегружать методы и не ломать потом голову.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Kotlin VS Java | Плюсы и минусы языков | Почему разработчики переходят на Kotlin?
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Спасибо за просмотр! Увидимся в следующем видео!
Буду рад лайкам и комментариям!
Если тебе нравится мой контент, то поддержи меня на бусти - https://boosty.to/bebr0
По любым вопросам, а также…
Спасибо за просмотр! Увидимся в следующем видео!
Буду рад лайкам и комментариям!
Если тебе нравится мой контент, то поддержи меня на бусти - https://boosty.to/bebr0
По любым вопросам, а также…
Здравствуй, дорогой читатель. Каждый Android-разработчик сталкивался (или столкнётся во время своей профессиональной карьеры) с задачей, в которой необходимо хранить большое количество изменяемых данных. В данной статье будет разобрана библиотека от Google - Room.
В статье будет рассказано об основных компонентах библиотеки и будет разобран базовый, не очень сложный пример.
Статья предназначена для новичков, не знакомых с данной библиотекой, но, желательно, имеющих базовые знаниях о SQLite, Kotlin Coroutines, Kotlin Flow, MVVM.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Библиотека «Room» для начинающего Android-разработчика
Здравствуй, дорогой читатель. Каждый Android-разработчик сталкивался (или столкнётся во время своей профессиональной карьеры) с задачей, в которой необходимо хранить большое количество изменяемых данных. В данной статье будет разобрана библиотека от Google…
MutableList vs List
List представляет последовательный список элементов. List представляет неизменяемую (immutable) коллекцию, которая в основном только обеспечивает получение элементов по позиции. Изменяемые списки представлены интерфейсом MutableList. Он расширяет интерфейс List и позволяют добавлять и удалять элементы.
List представляет последовательный список элементов. List представляет неизменяемую (immutable) коллекцию, которая в основном только обеспечивает получение элементов по позиции. Изменяемые списки представлены интерфейсом MutableList. Он расширяет интерфейс List и позволяют добавлять и удалять элементы.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Kotlin: это что и зачем нужен
Что такое Kotlin? Зачем нужен Kotlin? Где используют этот язык программирования. Чем он отличается от языка Java. Стоит ли переходить с Java на Kotlin. Зарплаты котлин-программистов по уровню квалификации.
▶️Программируем с нуля — https://clck.ru/WMhMY…
▶️Программируем с нуля — https://clck.ru/WMhMY…
Упрощаем создание FragmentFactory при помощи dsl котлина
Фрагменты в андроид разработке стали привычным способом написания ui и со временем, для удобства разработки, появилось много нового функционала. Один из таких примеров - использование своей реализации FragmentFactory. Об этом я и хотел бы поговорить.
Читать статью
Фрагменты в андроид разработке стали привычным способом написания ui и со временем, для удобства разработки, появилось много нового функционала. Один из таких примеров - использование своей реализации FragmentFactory. Об этом я и хотел бы поговорить.
Читать статью
Telegraph
Упрощаем создание FragmentFactory при помощи dsl котлина
Фрагменты в андроид разработке стали привычным способом написания ui и со временем, для удобства разработки, появилось много нового функционала. Один из таких примеров - использование своей реализации FragmentFactory. Об этом я и хотел бы поговорить. Для…
Что означает null в Kotlin?
Anonymous Quiz
6%
Строковое представление числа ноль
68%
Переменная не имеет значения
9%
Функция не возвращает ничего
17%
В Kotlin null не используется