@kotlin_lang

Страница 360 из 982
Lev
07.10.2017
08:49:27
Твои коллеги не ведут с тобой дебаты по этому поводу? Как мы тут

Quantum Harmonizer
07.10.2017
08:49:56
Твои коллеги не ведут с тобой дебаты по этому поводу? Как мы тут
Нет, они меня спрашивают, я им объясняю, что делает этот модификатор, и больше вопросов не возникает.

Lev
07.10.2017
08:50:23
А самостоятельно они что то делают?)

Google
Lev
07.10.2017
08:51:17
В андроид приложении 100 сущностей? Коллеги вообще с тобой не спорят?

Boris
07.10.2017
08:51:53
меньше сотни
А сколько дто в том проекте, который ты сейчас делаешь?

Igor
07.10.2017
08:51:56
вразрез с ООП — то про equals?
Я про “передачу данных в виде DTO”, data классы провоцируют.

Quantum Harmonizer
07.10.2017
08:52:06
В андроид приложении 100 сущностей? Коллеги вообще с тобой не спорят?
Я с таким сталкивался. Когда я пришёл на проект, было 120к методов, когда уходил — 70к.

Lev
07.10.2017
08:52:56
Со мной спорят только менеджеры. :)
Это очень скучно. Увольняйся.

Igor
07.10.2017
08:53:30
К счастью котлин не Егор делает
А ты не согласен, что это data class вообще ближе к АТД , чем объектам из ООП? (особенно если sealed добавить или вспомнить про pair и triple)

Quantum Harmonizer
07.10.2017
08:53:55
Я вероятно не понимаю, но что это дало?
С ProGuard не было MultiDex, приложение шустрее работало, особенно на четвёрках, и весило значительно меньше.

Boris
07.10.2017
08:55:26
А ты не согласен, что это data class вообще ближе к АТД , чем объектам из ООП? (особенно если sealed добавить или вспомнить про pair и triple)
Я скорее о том, что на мой взгляд вот это всё "тру ооп" полная ерунда, потому что важно для реальной жизни совсем другое

Google
Quantum Harmonizer
07.10.2017
08:55:26
Это очень скучно. Увольняйся.
Тащемта я уже уволился (пару месяцев назад). Но мне никогда не приходилось спорить с прогерами, которые пишут на том же языке, о том, как писать на языке.

Об архитектуре — да. Статические языки против динамических — да. А о том, какие модификаторы для чего нужно использовать, чётко и ясно написано в документации и спорить здесь не о чем.

Lev
07.10.2017
08:57:46
Так там четко написано - использовать =)

Boris
07.10.2017
09:00:14
Я с таким сталкивался. Когда я пришёл на проект, было 120к методов, когда уходил — 70к.
Я не говорю, что надо плодить методы, просто говорю, что лишних 300 методов погоды не сделают, а для дто приятно иметь и тустринг и иквалз в некоторых ситуациях. Я уж не говорю про детруктуризацию, если их приходится как-то обрабатывать в коде

И ещё раз: я не говорю, что дата нужно лепить бездумно

Boris
07.10.2017
09:05:29
Но лично у меня дто и любые структуры для сериализации поумолчанию дата, и я убираю его если это нужно. Конечно я профессионально на Андроиде не пишу и мне сложно судить, возможно я бы тоже экономил на удобстве если бы у меня был этот лимит

Boris
07.10.2017
09:08:24
Я не предлагал экономить на удобстве.
Согласен, это просто для меня так звучит, потому что часто они дают удобства, которыми я пользуюсь. А какое применение для дата-классов ты видишь, если не дто?

Boris
07.10.2017
09:09:17
Igor
07.10.2017
09:10:44
?кэп?
А ты пользуешься или просто везде добавляешь ради toString?

Quantum Harmonizer
07.10.2017
09:11:26
Где-то Роман Елизаров писал, что destructuring в не-кортежах — зло. И таки да, оно мне больше нигде так и не понадобилось.

Boris
07.10.2017
09:11:43
А ты пользуешься или просто везде добавляешь ради toString?
Тустринг, деструктуризация и часто ещё иквалс

Копирование тоже бывает

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

Igor
07.10.2017
09:14:29
Тустринг, деструктуризация и часто ещё иквалс
> Но лично у меня дто и любые структуры для сериализации поумолчанию дата Это как-то не складывается, ну не могут для них всех требоваться equeals и componentN (toString конечно другое дело, но это того не стоит)

Google
Boris
07.10.2017
09:18:15
Мне удобно, что эти возможности у них есть и я по ходу всегда могу ими воспользоваться и я пользуюсь

> Но лично у меня дто и любые структуры для сериализации поумолчанию дата Это как-то не складывается, ну не могут для них всех требоваться equeals и componentN (toString конечно другое дело, но это того не стоит)
Для серверной разработки тустринг для этих классов уже ?, а если ещё и другие фичи по ходу использовал, уже считай отбил использование

whalemare
07.10.2017
10:57:38
Я слишком молод чтобы знать что то о кортежах в котлине. Это какой то синоним деструктуризации?

Mi
07.10.2017
10:58:18
Кортежей в котлине нет

Михаил
07.10.2017
10:58:38
как нет?

а Pair, Triple?

Mi
07.10.2017
10:59:20
Это таки data class'ы

whalemare
07.10.2017
10:59:20
https://m.habrahabr.ru/post/276871/

Ага, теперь разобрался, спасибо

Михаил
07.10.2017
11:00:09
Это таки data class'ы
кортеж не может быть представлен дата классом?

Mi
07.10.2017
11:00:18
В начальных версиях были кортежи как в скале, но они были заменены на датаклассы

whalemare
07.10.2017
11:00:35
Угу, частный случай Кортеж - упорядоченный набор данных фиксированной длинны

Mi
07.10.2017
11:01:03
Это уже спор о понятиях, я имел в виду, что нет отдельной конструкции типа tuple

whalemare
07.10.2017
11:04:29
Да, в статье написано то о чем говорим мы подразумевая Pair - неявные кортежи

Igor
07.10.2017
11:04:48
А вот в последнем сишарпике несмотря ни на что добавили кортежи и синтаксис для них. Интересно что будет если в java 2019 ? пойдут по их стопам.

Vadzim
07.10.2017
11:17:43
*miss click, skip it

Igor
07.10.2017
11:31:14
Может кто-то пояснит за forcedTypes jooq-а? Прописываю: forcedTypes { forcedType { userType = "com.fasterxml.jackson.databind.JsonNode" expression = "release.artifact_current_versions.tags" } } jooq меня игнорирует. Прописываю: forcedTypes { forcedType { userType = "com.fasterxml.jackson.databind.JsonNode" types = "JSON" } } jooq меня игнорирует. Резонный вопрос - ЧЯДНТ?

Да, колонка во View, но это вроде не должно мешать

UPD: я забыл про binding = "package.Binding", все заработало-таки

Quantum Harmonizer
07.10.2017
11:48:02
Google
Aliaksei
07.10.2017
12:32:26
Как биндинг для JSON делался?

Хотя мне больше интересно как конвертер sqldb array в java.Collection был сделан(если был, и был на Котлине)

Donna
07.10.2017
12:39:17
дбюж

Quantum Harmonizer
07.10.2017
12:39:35
дбюж
что?

balolam
07.10.2017
13:36:57
Народ, кто использует Coroutines под Android, подскажите, а где найти интерфейс JobHolder о котором сказано в документации?

Igor
07.10.2017
13:39:59
Народ, кто использует Coroutines под Android, подскажите, а где найти интерфейс JobHolder о котором сказано в документации?
Ты его должен сам сделать (он там есть 3 строчный) https://github.com/Kotlin/kotlinx.coroutines/blob/master/ui/coroutines-guide-ui.md#lifecycle-and-coroutine-parent-child-hierarchy

balolam
07.10.2017
13:43:18
Эх, просмотрел

Странный, возможно, вопрос, но после вызова cancel() какое поведение ожидать? Все последующие coroutines не будут запущены и прерваны сразу или cancel() просто текущие прерывает. По аналогии для CompositeDisposable в RX это будет аналогично вызову метода CompositeDisposable.dispose() или CompositeDisposable.clear()?

Igor
07.10.2017
14:16:12
Скорее первое, а вообще тут написано https://github.com/Kotlin/kotlinx.coroutines/blob/master/coroutines-guide.md#cancellation-and-timeouts

Pavel
07.10.2017
14:20:19
https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.experimental/-job/index.html

Хорошая схемка

Valery
07.10.2017
14:42:40
Есть вопрос. Насколько извращение юзать Kotlin Android Extensions?

balolam
07.10.2017
14:43:44
А почему это вообще извращение?

Valery
07.10.2017
14:44:18
ну как то слишком выглядит

Sergey
07.10.2017
14:44:29
что именно?

Valery
07.10.2017
14:44:49
как минимум шлем лесом стайлы для id в xml

это конечно притянутый за уши аргумент

Google
Sergey
07.10.2017
14:45:55
ты про camelCase?

Valery
07.10.2017
14:46:20
ага

Sergey
07.10.2017
14:47:05
camelCase тоже можна

Android dev team говорили об этом

да и в коде лучше R.id.btnDone vs R.id.btn_done

Artyom
07.10.2017
14:47:55
Хм...

Если в Android для приватных глобалок префикс "m", то в Kotlin - "_"?

Va
07.10.2017
14:49:58
не в андроиде, а в джаве

Sergey
07.10.2017
14:50:14
> Если в Android для приватных глобалок префикс "m" это из джава конвенции

Va
07.10.2017
14:50:23
у каждого додика своя методика

Sergey
07.10.2017
14:50:26
так только AOSP пишут

Roman
07.10.2017
14:50:44
Нет такой конвенции в Java. Никогда не было.

Alexander
07.10.2017
14:50:54
Так вроде же не статик и не паблик начинать с m

и это Android конвенция

Sergey
07.10.2017
14:51:55
и это Android конвенция
только для AOSP

Страница 360 из 982