Comments 3
Сейчас даже сложно представить чтобы проект писался не на Typescript, крайне удачный ход от друзей с Microsoft
Когда у меня N-раз подряд структура данных отдаваемая с бэка не сошлась с той, что я ожидал увидеть на фронте
Уже как несколько лет отношусь к бекенду как к "внешнему неподконтрольному сервису со странными парнями внутри" и валидирую респонсы на таком же уровне паранойи как и пользовательский ввод. В итоге если кто-то втихаря поменял\удалил поле, или "любимый" сваггер не соответствует действительности - об этом сразу становится известно всем.
Таким образом можно напрямую связать интерфейсы, которыми мы оперируем во фронтенде, с теми данными, которые возвращает бэкенд.
Не всегда понимаю почему все к этому стремятся. Бекенд и фронтенд - это два разных мира\сервиса. Пусть себе лежать в разных репах\разрабатываются разными командами, каждая по своим правилам. Им не нужно что-то знать друг про друга вообще.
Не так уж и тяжело вручную один раз описать\валидировать интерфейсы каждый на своём пограничном уровне. Иначе в какой-то мере это получается "high coupling".
Typescript в hh.ru