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

Quantum Harmonizer
07.10.2017
08:49:56

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

Boris
07.10.2017
08:50:26

Google

Quantum Harmonizer
07.10.2017
08:50:34

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

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

Igor
07.10.2017
08:51:56

Quantum Harmonizer
07.10.2017
08:52:06

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

Boris
07.10.2017
08:55:26

Google

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

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

Igor
07.10.2017
08:58:41

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

Quantum Harmonizer
07.10.2017
09:01:39

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

Quantum Harmonizer
07.10.2017
09:05:55

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

Quantum Harmonizer
07.10.2017
09:08:58
Реально я пользуюсь только copy изредка.

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
Копирование тоже бывает
Т.е. можно наверняка сказать, что я не использую все возможности дата-классов у всех дата-классов которые я делаю, но для серверной разработки это не большая проблема

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

Boris
07.10.2017
09:16:31

Google

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

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

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

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?

Sergey
07.10.2017
14:43:37

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
это конечно притянутый за уши аргумент

Sergey
07.10.2017
14:45:28

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 - "_"?

Sergey
07.10.2017
14:49:40

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 пишут

Alexander
07.10.2017
14:50:41

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

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

Sergey
07.10.2017
14:51:55