Size: a a a

Kotlin Community

2020 March 30

AL

Anton Lakotka in Kotlin Community
Boris Vanin
Идеально, сделать проект где это легко воспроизводится и завести ишью, с большой вероятностью это починят
уже есть
источник

AN

Alexander Nozik in Kotlin Community
Boris Vanin
Идеально, сделать проект где это легко воспроизводится и завести ишью, с большой вероятностью это починят
Эта фигня висит уже черт знает сколько времени, там проблема глубоко в компиляторе.
источник

BV

Boris Vanin in Kotlin Community
Alexander Nozik
Эта фигня висит уже черт знает сколько времени, там проблема глубоко в компиляторе.
Хорошо, что у нас скоро будет новый компилятор 😬
источник

AL

Anton Lakotka in Kotlin Community
Alex Wells
нужен attributes: JsonObject у каждой Node, а имлементаций штук 100
а почему композиция не подойдет?

data class SomethingWithAttributes<T>(val something: T, attributes: Attributes)

И к нему написать кастомный сериализатор, если нужно attributes инджектить в тот же объект что и something.
источник

AN

Alexander Nozik in Kotlin Community
Boris Vanin
Хорошо, что у нас скоро будет новый компилятор 😬
Ну до нас он дойдет не скоро, пока только в JS и сильно экспериментально
источник

AL

Anton Lakotka in Kotlin Community
Anton Lakotka
а почему композиция не подойдет?

data class SomethingWithAttributes<T>(val something: T, attributes: Attributes)

И к нему написать кастомный сериализатор, если нужно attributes инджектить в тот же объект что и something.
в общем. не вижу реальной нужды для наследования в данном случае.
источник

AN

Alexander Nozik in Kotlin Community
Anton Lakotka
в общем. не вижу реальной нужды для наследования в данном случае.
Композиция изменит формат сериализации. Во многих случаях это непреемлемо.
источник

AL

Anton Lakotka in Kotlin Community
Alexander Nozik
Композиция изменит формат сериализации. Во многих случаях это непреемлемо.
про формат я написал. что можно кастомный сериализатор написать на пару строк
источник

AN

Alexander Nozik in Kotlin Community
Anton Lakotka
про формат я написал. что можно кастомный сериализатор написать на пару строк
Кастомный сериализатор, который будет встраивать поле в сериализацию класс это в общем случае нетривиальная задача.
источник

AN

Alexander Nozik in Kotlin Community
Потому что для кастомного сериализатора надо переписывать весь сериализатор полностью, не только для этого поля.
источник

AW

Alex Wells in Kotlin Community
Anton Lakotka
а почему композиция не подойдет?

data class SomethingWithAttributes<T>(val something: T, attributes: Attributes)

И к нему написать кастомный сериализатор, если нужно attributes инджектить в тот же объект что и something.
выглядит так себе, имхо
источник

AL

Anton Lakotka in Kotlin Community
да, скорее всего так и есть. из-за того что внутренний сериализатор делает begin  и  end Structure.
источник

BV

Boris Vanin in Kotlin Community
Сериализацию же ещё не релизили
источник

BV

Boris Vanin in Kotlin Community
Вполне норм, что ещё много недоработок
источник

BV

Boris Vanin in Kotlin Community
Хорошо, что люди пока не берут её в прод
источник

BV

Boris Vanin in Kotlin Community
И очень надеюсь, что появятся новые точки кастомизации сериалайзеров, сейчас пока это мучение
источник

VA

Vladimir Anisimov in Kotlin Community
Привет всем! Никто не знает как такую же штуку на котлине провернуть?!
String input = "1234567890";

String number = input.replaceFirst("(\\d{3})(\\d{3})(\\d+)", "($1) $2-$3");
источник

AL

Alexander Levin in Kotlin Community
Vladimir Anisimov
Привет всем! Никто не знает как такую же штуку на котлине провернуть?!
String input = "1234567890";

String number = input.replaceFirst("(\\d{3})(\\d{3})(\\d+)", "($1) $2-$3");
Сделайте первому параметру функции .toRegex(), вроде будет то, что хотите
источник

VP

Vladimir Petrakovich in Kotlin Community
Vladislav Verminsky
Всем, привет!
Вот на код ревью написал, что использовать ! как отрицание не очень идеоматично, в котлине есть функция not(), которая улучшает читаемость кода, так как заметнее и имеет оптимизации на уровне компилятора, который превратит это в обычное отрицание чтобы не делать вызов метода.
Мне в ответ сказали, что это дичь и где я такое взял.
Вот теперь гуглю и не могу найти, где это обсуждалась и на каких исследованиях доказывалось.
Можете помочь найти правоту моих слов или я не прав?
Про оптимизации полная дичь, а вообще not() есть смысл использовать только для safe call.
Ну или если просто покажется, что так код выглядит лучше (что, я думаю, редкость).
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Anisimov
Привет всем! Никто не знает как такую же штуку на котлине провернуть?!
String input = "1234567890";

String number = input.replaceFirst("(\\d{3})(\\d{3})(\\d+)", "($1) $2-$3");
источник