Публикации по теме 'kotlin'
Расширенное программирование с помощью Kotlin (часть 6)
Улучшения языка в выпуске Kotlin 1.4
Kotlin 1.4 был выпущен недавно с множеством долгожданных функций и захватывающих улучшений во всех его доменах. Это важная веха в эволюции Kotlin как платформы, сосредоточенная на приведении стандартной библиотеки в соответствие с ожиданиями разработчиков. В этой статье мы собираемся их изучить.
Одна из интересных вещей, о которых я хочу упомянуть, - это онлайн-мероприятие Kotlin, которое состоялось 12 октября. Записи мероприятия доступны на..
Kotlin Code Smell 003 — Нарушители строк
TL;DR: Use real abstractions and real objects instead of string accidental
manipulation
Проблемы
Сложность Читабельность Ремонтопригодность Отсутствие абстракций
Решения
Работайте с объектами вместо строк. Замените строки структурами данных, связанными с объектными отношениями. Найдите проблемы биекции между реальными объектами и строками.
Примеры
Сериализаторы Парсеры
Образец кода
Неправильный
val schoolDescription = "College of Springfield"..
Бессмысленное сравнение имеет смысл в Котлине
Довольно странное название для начала :)
Нам нравится функция Null-Safety в Kotlin, она избавляет нас от написания множества проверок на null, подобных этой.
if( foo !=null)
doSomethingAwesomeWithFoo(foo)
Нам просто нужно убедиться, что при объявлении переменных они не равны нулю, как это
val foo:String // non nullable
и теперь мы можем напрямую позвонить
doSomethingAwesomeWithFoo(foo)
Но жизнь разработчиков непроста, когда они имеют дело с данными из внешнего мира, такими..
Избегайте злоупотребления анонимными функциями: улучшите качество кода с помощью инкапсуляции
TL;DR: избегайте чрезмерного использования замыканий и функций. Инкапсулируйте их в объекты.
Проблемы
Ремонтопригодность Тестируемость Повторное использование кода Скрытие реализации Отладка
Решения
Оберните функции/замыкания Осуществление алгоритмов с использованием объекта метода / паттерна Стратегия
Образец кода
Неправильный
fun sortFunction(
list: MutableList<Int>,
fn: (Int, Int) -> Boolean
) {
for (i in list.indices) {..
Как сделать модульные тесты для ViewModel проще в написании и обслуживании
Помогите себе и другим с чистым кодом
Я большой поклонник TDD. Но мой TDD заканчивался, как только я начинал писать код для ViewModel . Раньше я страдал от беспорядка, которым стали мои модульные тесты. Чем больше логики я добавлял в ViewModel , тем больше беспорядка я создавал в модульных тестах.
В конце концов, я заканчивал тем, что удалял тесты для ViewModel , потому что их было слишком сложно поддерживать и писать новые. Но без тестов я страдал от ошибок, которые вносил я..
Что лучше, Kotlin или Java? Давайте уладим спор
Между Kotlin и Java-разработчиками не прекращается спор — какой язык программирования лучше? Один лучше другого по определенным причинам?
Вот что говорят эксперты
Kotlin чрезвычайно универсален. Его можно использовать для разработки мобильных, веб-, серверных, настольных и даже встроенных систем. Благодаря механизмам совместного использования кода вы можете легко создавать мультиплатформенные библиотеки и приложения, работающие на разных платформах . — Разработчики JetBrains ,..
Изучение видимости пакетов в Android
Как получить список приложений, установленных на устройстве — решение, работающее на всех версиях Android
Введение
В этой статье мы рассмотрим различные способы получения списка установленных приложений на устройстве внутри нашего приложения. Затем изучите различные ограничения, налагаемые на подходы…