Size: a a a

Programming Offtop

2020 October 07

AM

Andrew Mikhaylov in Programming Offtop
Mikhail Levchenko
хорошо, есть идеи как сделать копию глубокого data class без того чтобы нафигачить кучу методов copyWithX? (я уже потихоньку пишу плагин для компилятора чтобы эту тему генерировать, но вдруг уже готовенькое)
Да без толку, твою задачу не надо решать. Выбрасывай плагин, Александру он не нужен.
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Да без толку, твою задачу не надо решать. Выбрасывай плагин, Александру он не нужен.
Кто тут абсурдизирует?
источник

ML

Mikhail Levchenko in Programming Offtop
Alexander Nozik
Я в принципе согласен и даже знаю кейс у @lllewik , где это нужно. Но мой вопрос про ветвление остается
а где вопрос про ветвление?
источник

AN

Alexander Nozik in Programming Offtop
Mikhail Levchenko
а где вопрос про ветвление?
источник

AN

Alexander Nozik in Programming Offtop
Просто если есть ветвление состояние и исходный объект надо где-то продолжать использовать - все ваши соображения валидны и я с ними соглашусь. Если используется только новое состояние - это костыль
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Кто тут абсурдизирует?
Ну вы же сами знаете ответ на вопрос, который задаёте, и хотите его получить только для того, чтобы себе/кому-то что-то доказать.
источник

AM

Andrew Mikhaylov in Programming Offtop
Вон, даже сами об этом написали только что.
источник

AM

Andrew Mikhaylov in Programming Offtop
Я и говорю -- вам решение не нужно, можно его выбрасывать.
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Ну вы же сами знаете ответ на вопрос, который задаёте, и хотите его получить только для того, чтобы себе/кому-то что-то доказать.
Я знаю ответ на вопрос в своем контексте. У @themishkun другой контекст. Мы ведем дискуссию
источник

VP

Vladimir Petrakovich in Programming Offtop
Mikhail Levchenko
хорошо, есть идеи как сделать копию глубокого data class без того чтобы нафигачить кучу методов copyWithX? (я уже потихоньку пишу плагин для компилятора чтобы эту тему генерировать, но вдруг уже готовенькое)
Нагенерить билдеров для каждой структуры, и DSL сверху
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Я и говорю -- вам решение не нужно, можно его выбрасывать.
нет конечно. Мне не нравится концепция линз, как основного инструмента и я объяснил почему. Теперь вопрос в том, можем ли мы выделить тут единый полезный знаменатель
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
Нагенерить билдеров для каждой структуры, и DSL сверху
Ну линзы это и делают
источник

ML

Mikhail Levchenko in Programming Offtop
Alexander Nozik
Просто если есть ветвление состояние и исходный объект надо где-то продолжать использовать - все ваши соображения валидны и я с ними соглашусь. Если используется только новое состояние - это костыль
да, исходный объект иногда нужно продолжать использовать. да и вообще, не хочу никому отдавать свой объект (в подфункцию, к примеру), чтобы мне чё-то там неожиданно поменяли. CQRS часто не соблюдают, потому проще запретить мутации чтобы об этом не думать каждый раз
источник

ML

Mikhail Levchenko in Programming Offtop
Vladimir Petrakovich
Нагенерить билдеров для каждой структуры, и DSL сверху
ну вот делаю сейчас что-то такое, там просто есть свои нетривиальности (да и Ir сложна)
источник

VP

Vladimir Petrakovich in Programming Offtop
Alexander Nozik
Ну линзы это и делают
Отлично. Вопрос в том, можно ли заранее точно сказать, не понадобится ли исходный объект в исходном состоянии кому-то ещё.
источник

VP

Vladimir Petrakovich in Programming Offtop
Mikhail Levchenko
да, исходный объект иногда нужно продолжать использовать. да и вообще, не хочу никому отдавать свой объект (в подфункцию, к примеру), чтобы мне чё-то там неожиданно поменяли. CQRS часто не соблюдают, потому проще запретить мутации чтобы об этом не думать каждый раз
Во, плюсую. С мутабельными объектами легко выстрелить в ногу, сохранив его по ссылке.
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
нет конечно. Мне не нравится концепция линз, как основного инструмента и я объяснил почему. Теперь вопрос в том, можем ли мы выделить тут единый полезный знаменатель
Нет, потому что вы строго отметили, что вам сама идея изменений иммутабельного объекта без использования прошлой версии не интересна, а Михаил ровно на основании этого строит приложение.
источник

AN

Alexander Nozik in Programming Offtop
Vladimir Petrakovich
Отлично. Вопрос в том, можно ли заранее точно сказать, не понадобится ли исходный объект в исходном состоянии кому-то ещё.
Хороший вопрос
источник

ML

Mikhail Levchenko in Programming Offtop
Mikhail Levchenko
ну вот делаю сейчас что-то такое, там просто есть свои нетривиальности (да и Ir сложна)
вообще документация говнишко в Kotlin. Для того чтобы туда контрибутить, надо в JB устроиться, поработать полгодика и только тогда можно чёт делать
источник

AM

Andrew Mikhaylov in Programming Offtop
Mikhail Levchenko
вообще документация говнишко в Kotlin. Для того чтобы туда контрибутить, надо в JB устроиться, поработать полгодика и только тогда можно чёт делать
Документация на кишочки -- да, увы.
источник