Size: a a a

2021 August 20

I

Ilmir in Kotlin Moscow
Запись будет?
источник

AN

Alexander Nozik in Kotlin Moscow
В этот раз нет. В следущий может быть
источник
2021 August 21

VS

Vladimir Sitnikov in Kotlin Moscow
Бери MigLayout -- и будет норм
источник

ПФ

Паша Финкельштейн... in Kotlin Moscow
Так и делаем, но он тоже совсем не простой.
источник
2021 August 23

Ⓢⓔⓡⓖ in Kotlin Moscow
источник

Ⓢⓔⓡⓖ in Kotlin Moscow
Не обсуждали тут ещё?
источник

DA

Dima Avd in Kotlin Moscow
Интересная статья. В защиту Kotlin:
1) Java код  из Kotlin правда часто приводит к NPE, но для сравнения [JS и TypeScript], [ObjectiveC и Swift] имеют похожие проблемы, и там сложнее использовать interop.
Плюс анализ Intellij IDEA помогает расставлять Nullable/NotNull аннотации в Java коде.
2) Функция '''@Synchronized suspend fun''' мне кажется плохим сочетанием. Хорошо бы в IDEA добавить такое как Warning.
Также в корутинах для синхронизации есть Channel-ы (и функции select, actor и т.д. из библиотеки kotlinx.coroutines).
3) Согласен что getter-ы могут иногда плохо влиять на производительность. Но если нужна хорошая производительность, то нужно её тестировать и замерять деградацию. Getter-ы легко поймать профилировщиком. Ну и избитая фраза - преждевременная оптимизация может быть вредной.
4) Различные способы объявления функций и лямбды дают нам много полезного. Да, надо к этому привыкнуть. Тут помагают явные типы, которые можно указывать, чтобы не ловить подобных проблем.

Но вообще статья классная. Почитать полезно.
источник

AN

Alexander Nozik in Kotlin Moscow
Ну тут в целом все старое. И название misleading. Это не подводные камни котлин, а подводные камни смешанных проектов с Java/
источник

AN

Alexander Nozik in Kotlin Moscow
По второму пункту - просто ужасное сочетание
источник

AN

Alexander Nozik in Kotlin Moscow
По третьему пункту пруф можно про производительность? Не знаю как в андроиде, но в JVM это точно не верно. Нет там никакого влияния на производительность
источник

АГ

Алексей Гладков... in Kotlin Moscow
Про андроид тоже удивлен, не слышал про такое
источник

AN

Alexander Nozik in Kotlin Moscow
Я посмотрел, там в статье не про это, а про то, что под виртуальным полем может быть сложная логика, которая долго работает. Не сталкивался с такой проблемой
источник

DA

Dima Avd in Kotlin Moscow
По третьему пункту я имею ввиду тот пример, который автор привёл в оригинальной статье. Когда getReference() класса
FirebaseDatabase делает сложную логику внутри себя.
Согласен что в целом с пустыми getter-ами проблем и не будет.
источник

АГ

Алексей Гладков... in Kotlin Moscow
А ну так можно и в обычной функции себе в ногу выстрелить)
Но согласен, что с геттером это более неявно

Не удачный пример с функцией
источник

DA

Dima Avd in Kotlin Moscow
Да, тут именно неявность getMethod может выстрелить.
Но честно говоря тут наверное виноваты авторы билиотеки FirebaseDatabase.
источник

АГ

Алексей Гладков... in Kotlin Moscow
Firestore этот вообще очень стремная штука
источник

АГ

Алексей Гладков... in Kotlin Moscow
Там столько подводных камней
источник

И

Илья in Kotlin Moscow
могу предположить что это отсылка к статье
https://habr.com/ru/post/315152/
источник

AN

Alexander Nozik in Kotlin Moscow
Ну это опять же вопрос стыка с java. Если пишешь на котлин, тот тут проблема не возникает
источник

АГ

Алексей Гладков... in Kotlin Moscow
Кстати насчет Котлина
источник