Size: a a a

Kotlin Community

2020 April 05

AW

Alex Wells in Kotlin Community
ну ок, не почти ноль, но сгенерить я точно ничего не смогу
источник

AW

Alex Wells in Kotlin Community
Владислав Славетный
Так доку читай, шо ты гонишь
доку чего?)
источник

ВС

Владислав Славетный in Kotlin Community
Alex Wells
доку чего?)
Котлина
источник

AW

Alex Wells in Kotlin Community
.. дальше что? Как это с кодогеном поможет то? Я знаю язык, но опыта у меня нет
источник

AD

Apache DOG™ in Kotlin Community
Вообще говоря я обожаю вот этих товарищей с @MagicAnotaciaSdelaiMneVse, до запуска тестов особенно в чужом проекте не отыщешь все места всей сериализации. А менять так вообще боль
источник

AO

Alexey Otts in Kotlin Community
Apache DOG™
Вообще говоря я обожаю вот этих товарищей с @MagicAnotaciaSdelaiMneVse, до запуска тестов особенно в чужом проекте не отыщешь все места всей сериализации. А менять так вообще боль
Как будто ситуация с макросами в скале лучше 😏
источник

AE

Alexandr Emelyanov in Kotlin Community
Alex Wells
@Serializer(forClass = ClassName::class)
               companion object : UnionTypeSerializer<ClassName>(ClassName::class) {
                   override fun choose(element: JsonElement): KClass<out ClassName> = when {
                       element is JsonLiteral && element.isString -> Named::class
                       element is JsonObject && element["nodeType"]!!.content == "Stmt_Class" -> Anonymous::class
                       else -> Expr::class
                   }
               }

vs
companion object Adapter {
                   @ToJson
                   fun toJson(name: ClassName): Any = when (name) {
                       is Named -> name.name
                       is Expr -> name.expr
                       is Anonymous -> name.expr
                   }

                   @FromJson
                   fun fromJson(
                           reader: JsonReader,
                           nodeAdapter: JsonAdapter<NodeAbstract>
                   ): ClassName = when (val node = nodeAdapter.fromJson(reader)) {
                       is Name -> Named(node)
                       is Stmt.Class -> Anonymous(node)
                       is NodeAbstract.Expr -> Expr(node)
                       else -> throw JsonDataException("Unexpected node $node")
                   }
               }
Каким извратом люди не займутся лишь бы не использовать Jackson
источник

AW

Alex Wells in Kotlin Community
Alexandr Emelyanov
Каким извратом люди не займутся лишь бы не использовать Jackson
смотрел - не понравилось, но я не пробывал.
источник

AN

Alexander Nozik in Kotlin Community
Alex Wells
смотрел - не понравилось, но я не пробывал.
Так это самый дешевый способ обработать сложные структуры на JVM
источник

AN

Alexander Nozik in Kotlin Community
kotlinx-serialization разумно использовать в мультиплатформе или когда просто хочется помать команде с тестированием
источник

AE

Alexandr Emelyanov in Kotlin Community
Alex Wells
смотрел - не понравилось, но я не пробывал.
А что не понравилось то? Там в классах вообще ничего не надо описывать, кроме каких то кейсов типа наследования или переименования
источник

AE

Alexandr Emelyanov in Kotlin Community
Alexander Nozik
kotlinx-serialization разумно использовать в мультиплатформе или когда просто хочется помать команде с тестированием
+
источник

AW

Alex Wells in Kotlin Community
Alexander Nozik
kotlinx-serialization разумно использовать в мультиплатформе или когда просто хочется помать команде с тестированием
я изначально на него посмотрел потому что подумал, что это относительное новое решение, где учли проебы других, мультиплатформа в этом проекте не нужна
источник

AD

Apache DOG™ in Kotlin Community
Alexey Otts
Как будто ситуация с макросами в скале лучше 😏
Гораздо, гораздо лучше. Сравнивал лично рефлекторную фигню и макросную фигню. Так вот - макросную фигню почти всегда можно рефакторить не сломав.
источник

AE

Alexandr Emelyanov in Kotlin Community
Alex Wells
я изначально на него посмотрел потому что подумал, что это относительное новое решение, где учли проебы других, мультиплатформа в этом проекте не нужна
Новое не всегда лучше
источник

AN

Alexander Nozik in Kotlin Community
Alex Wells
я изначально на него посмотрел потому что подумал, что это относительное новое решение, где учли проебы других, мультиплатформа в этом проекте не нужна
Оно новое и еще во многом экспериментальное
источник

AN

Alexander Nozik in Kotlin Community
Apache DOG™
Гораздо, гораздо лучше. Сравнивал лично рефлекторную фигню и макросную фигню. Так вот - макросную фигню почти всегда можно рефакторить не сломав.
а какаже кодогенерационная фигня?*
источник

AW

Alex Wells in Kotlin Community
Alexandr Emelyanov
А что не понравилось то? Там в классах вообще ничего не надо описывать, кроме каких то кейсов типа наследования или переименования
ну, в moshi тоже) Банально мой use case: moshi мне на первой странице его показал и использовать его - одно удовольствие.

jackson же дает список аннотаций и нихрена не обьясняет, как достичь того, что я хочу:
https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexandr Emelyanov
Новое не всегда лучше
В данном случае новое во многом лучше, просто продвинутые штуки ещё не научилось.
источник

AD

Apache DOG™ in Kotlin Community
Alexander Nozik
а какаже кодогенерационная фигня?*
Она не сильно отличается по принципу действия от макросной
источник