> «еле-еле, но работающие прилавки-холодильники»
> «Стоять полчаса только ради мороженного в провонявшем рыбой советском продмаге»
Где всё это было? «вне зависимости от города» — это полная ерунда, от города и района многое зависит.
В каком городе огромная очередь за мороженым и в каком году? Я жил в Днепропетровске, до 1990 никаких очередей за мороженым не видел, и было разное. Под конец совка пропало шоколадное, но вместо него продавали в карамельной глазури.
Ну и чем тут Котлин поможет? Если изменились названия и типы полей по любому версионность на api вводить, если просто добавились новые поля, то и проблемы нет.
Ну только если голый js. Всё это прекрасно разбирается через JSON.parse() и моделируется TypeScript классом. Если язык на сервере и клиенте одинаков и сборка идёт из shared исходников, то проблемам в передаче взяться неоткуда.
> «Но это же разные типы. Конечно, вы не можете применять метод класса person к стране!»
Что мешает объявить интерфейс IName и реализовать у классов для которых это имеет смысл?
Лишняя проверка ничего не стоит практически, и в большинстве случаев неизвестно точно какие поля не null, так что будет повсеместно нечитаемая лапша a.b?.c?.d?.e
«Сортировка» или «Последний раз о задаче коммивояжера»
Заставить работать машину клиента!
Еще раз о программировании FOREX
Алгоритмы решения NP-трудных задач
Всегда в ветках «трэш, угар и противоестественное поведение» :-) Финал очевиден — бан.
> «Стоять полчаса только ради мороженного в провонявшем рыбой советском продмаге»
Где всё это было? «вне зависимости от города» — это полная ерунда, от города и района многое зависит.
{ «a»: «aaa» } — валидный? Или пустые поля всегда передаются?
{ «a»: 33 } — ?
{ «a»: «aaa», «d»: 33} — ?
const getName = obj => obj.name;
const name = getName({ uid: '123', name1: 'Banksy' });
Что мешает объявить интерфейс IName и реализовать у классов для которых это имеет смысл?