Size: a a a

Programming Offtop

2021 April 17

KD

Konstantin Dovnar in Programming Offtop
И снова — зачем эта лишняя работа, если я могу просто дальше использовать базового с новым полем? Не вижу никаких преимуществ.
источник

AD

Apache DOG™ in Programming Offtop
В том что ты можешь контролировать где какая версия юзается и какие новые контракты она имеет
источник

AD

Apache DOG™ in Programming Offtop
Если юзаешь один класс
источник

AD

Apache DOG™ in Programming Offtop
Не имеешь этого на уровне типов
источник

KD

Konstantin Dovnar in Programming Offtop
У нас в коде всегда используется одна версия.
Не может быть такого, что человек обновил приложение на половину и часть у него со старым классом должна работать, а часть с новым.

Зачем мне заведомо усложнять себе код и логику работая с несколькими версиями данных.
источник

AD

Apache DOG™ in Programming Offtop
Сам себе противоречишь, пишешь что кто то там не обновил
источник

AD

Apache DOG™ in Programming Offtop
А кто-то там обновил
источник

KD

Konstantin Dovnar in Programming Offtop
Не вижу противоречий.
Вижу непонимания о чём я говорю.

Кто-то обновил — у него используются свежие данные, свежий класс.
Кто-то не обновил — у него используются старые данные и старый класс.

Но тот кто обновил не должен работать и со старыми данными и с новыми в приложении, ибо это глупое усложнение.
источник

AD

Apache DOG™ in Programming Offtop
Фейспалм
источник

KD

Konstantin Dovnar in Programming Offtop
источник

Kd

Konstantin dmz9 in Programming Offtop
а чего не работать с делегатом List<Pair<String, Any>> ?
типа user.birthday = list.firstOrNull( it.first == 'birtday' )
источник

KD

Konstantin Dovnar in Programming Offtop
Ну так это и есть +\- первый вариант о котором я говорил в самом начале.
источник

Kd

Konstantin dmz9 in Programming Offtop
совместимость и вперед и назад, а key/value в такой базе хранить милое дело
источник

KD

Konstantin Dovnar in Programming Offtop
Но при серьёзных изменениях схемы (или частых) это превратится в жуткую неподдерживаемую лапшу кода, как мне кажется.
источник

Kd

Konstantin dmz9 in Programming Offtop
серьезные изменения схемы хранения данных в виде key/value - какие же они могут быть интересно? )))
источник

Kd

Konstantin dmz9 in Programming Offtop
никакие
источник

KD

Konstantin Dovnar in Programming Offtop
Любые?
Класс может чуть ли не полностью переделаться и с этим тоже бывает нужно жить.

+ всё ещё есть вариант с частыми изменениями.
Здесь добавили поле, здесь убрали, здесь переименовали, здесь изменили тип. Обычная ситуация.

И весь код будет состоять из одних проверок.
источник

Kd

Konstantin dmz9 in Programming Offtop
этот код заточён в датасорсе
источник

KD

Konstantin Dovnar in Programming Offtop
А код в датасорсе не должен быть читаемым и поддерживаемым?
источник

Kd

Konstantin dmz9 in Programming Offtop
должен, но это не значит что ты можешь избавиться от if
источник