Size: a a a

Programming Offtop

2020 August 19

RU

Roman Ushakov in Programming Offtop
Quantum Harmonizer
и обложить всё вопросиками, ага
Нет, зачем
источник

Kd

Konstantin dmz9 in Programming Offtop
Anton Korotkikh
если апишка плохая, то нужно заставить её исправить и как раз всё зафиксировать как должно быть. над этим должны работать архитекторы, лиды, пм и прочие чуваки с руководящими полномочиями и отвественные за коммуникацию
там таких нет😂
источник

RU

Roman Ushakov in Programming Offtop
Ты неправильно меня понял
источник

RU

Roman Ushakov in Programming Offtop
В джаве так же проблему с наллами что ли решал?
источник

AK

Anton Korotkikh in Programming Offtop
Konstantin dmz9
там таких нет😂
ну такое...
хм, а может просто свалить в место получше тогда? сколько говориш они тебя там нагибают, вместо того, чтобы процессы наладить
источник

QH

Quantum Harmonizer in Programming Offtop
Roman Ushakov
В джаве так же проблему с наллами что ли решал?
Это не проблема языка. В джаве для этого есть опшенал, например.
источник

RU

Roman Ushakov in Programming Offtop
Опшенал это не всегда хорошо
источник

AA

Andrey Akimov in Programming Offtop
Konstantin dmz9
вот как думаете - если апишка плоха, выдает неконсистентные данные, много кривых неполных моделей (пропущеные nullable параметры), хотя это и зафиксировано в документации (необязательные параметры) - как с этим должен работать фронтенд в лице приложений?
хм, прям 1 в 1 моя ситуация
источник

QH

Quantum Harmonizer in Programming Offtop
Roman Ushakov
Опшенал это не всегда хорошо
нуллы — это почти всегда плохо и признак херового проектирования, что с того? Решать проблему как?
источник

RU

Roman Ushakov in Programming Offtop
Крч я делал так
Прилетает говноданные, с пробелами в начале и в конце и другой кучей говна.

Во-первых я запилил кучу утилит, чтобы, если работать с такими данными то почти так же, как и с обычными, а порой и проще.

Во-вторых, утилк мало поэтому я запилил обёртки юзая композицию.
Синтетический пример
Response Dto {
Response originalResponse

//Делегаты на оригинальный респонс
}
Если в респонсе есть другие вложенные объекты то так же создавал обёртку и в 1 обёртке возвращал уже обёртку, а не оригинальные данные.
Таким образом, я полностью контролировал, как свой апи, так и чужой. И в случае изменений последнего я всегда мог адаптировать код внутри обёртки, зачастую не меняя код зависимый от обёртки
источник

RU

Roman Ushakov in Programming Offtop
Это очень кратко, идею я полностью не раскрыл, но суть вроде передал
источник

Kd

Konstantin dmz9 in Programming Offtop
ну блин у меня тоже весь апи покрыт своими моделями, вон на скрине пример, свои модели нигде не nullable параметров и спроектированы так как я хочу
источник

Kd

Konstantin dmz9 in Programming Offtop
их апи так и останутся, но всеравно будет место утыканое null-проверками, это печаль космических масштабов )
источник

RU

Roman Ushakov in Programming Offtop
Я не про то
Суть идеи в том, что только обёртка работает с дерьмо данными
источник

RU

Roman Ushakov in Programming Offtop
А тебе даже вспоминать не надо нюансы того, как оно работает
источник

Kd

Konstantin dmz9 in Programming Offtop
ну, можно было кстати геттеры запилить в дтошках где и втыкать все эти нул проверки
источник

RU

Roman Ushakov in Programming Offtop
Делегаты там тоже не простые по типу originalResponse.doSmth(arg)
источник

Kd

Konstantin dmz9 in Programming Offtop
однако, в некоторых местах, были бы протечки бизнес логики в модуль апишки, поэтому так не делал
источник

Kd

Konstantin dmz9 in Programming Offtop
Roman Ushakov
Делегаты там тоже не простые по типу originalResponse.doSmth(arg)
ну понятно короче, можно так то попробовать так делать )
источник

RU

Roman Ushakov in Programming Offtop
Ну я так делал потому что иначе бы я повесился уже
источник