Size: a a a

2020 April 13

ER

Evgeny Reznichenko in Svelte [svelt]
а я вообще не понимаю зачем фронту валидировать данные бека. Это проблема бека если он отдал не ту структуру которую декларировал
источник

ER

Evgeny Reznichenko in Svelte [svelt]
достаточно писать тесты для бека
источник

EC

Evgeny Cherkasov in Svelte [svelt]
Evgeny Reznichenko
достаточно писать тесты для бека
+
источник

EC

Evgeny Cherkasov in Svelte [svelt]
Pavel 🦇 Malyshev
Так проверки, которые якобы можно не писать с TS, не писать нельзя, потому что они как раз для проверки данных в рантайме. Короче твоя фраза явно подсветила проблему.
Подсветила проблему неуверенности в бекенде. Это явно проблема не фронта.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Evgeny Cherkasov
Подсветила проблему неуверенности в бекенде. Это явно проблема не фронта.
Ошибки то будут на фронте
источник

EC

Evgeny Cherkasov in Svelte [svelt]
если бекенд вернул говно. то на фронте в любом случае будет говно
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Evgeny Cherkasov
если бекенд вернул говно. то на фронте в любом случае будет говно
Бекенд может не вернуть говно, он просто измерялся. И никакой ТС не поможет выявить что где-то фронт ожидает устаревшие типы/формат данных
источник

ER

Evgeny Reznichenko in Svelte [svelt]
как я вижу идеальный пример, это когда бек разработчики генерируют ts описание типов реквестов и респонсов для своих апи, а фронт их просто используют.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Частично эта проблема решается в GQL с помощью сквозной типизации
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Evgeny Reznichenko
как я вижу идеальный пример, это когда бек разработчики генерируют ts описание типов реквестов и респонсов для своих апи, а фронт их просто используют.
Собственно примерно это и делается в GQL
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Но опять же тогда бекенд должен быть фактически контролируемым. Часто это бывает не так ( бекенд старый, чужой, разработан другой командой или даже компанией, итп)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Например мы пишем в основном клиентские приложения на чужих бекендах, реже делаем все с нуля сами, поэтому смысла в TS ооочень мало, а ложная уверенность, которую он даёт, может лишь усугубить ситуацию. Мы вынужденны писать ассерты и только так можем быть уверены в данных
источник

ER

Evgeny Reznichenko in Svelte [svelt]
тогда все от проекта зависит. у меня сейчас наш бек и единственная проблема что мне часто приходится открывать свагер и смотреть ту структуру которую возвращает сервер. И тут мне бы заглаза хватило описания типов, просто как документация для удобства разработки
источник

A

Arushwl in Svelte [svelt]
А свагер - это что?
источник

СА

Сирожиддин Аширов in Svelte [svelt]
Arushwl
А свагер - это что?
документация к апи
источник

IF

Infant Frontender in Svelte [svelt]
Pavel 🦇 Malyshev
Например мы пишем в основном клиентские приложения на чужих бекендах, реже делаем все с нуля сами, поэтому смысла в TS ооочень мало, а ложная уверенность, которую он даёт, может лишь усугубить ситуацию. Мы вынужденны писать ассерты и только так можем быть уверены в данных
Не обязательно TSом обмазываться с ног до головы. Кому-то достаточно и простой типизации на клиенте. Благо TS настраиваемый и позволяет постепенно или частично внедрить его в проект. К пример для удобства разработки (подсказки в ide и т.п.).

Хотя ты и так это знаешь...
источник

IF

Infant Frontender in Svelte [svelt]
Arushwl
А свагер - это что?
Вот пример: https://petstore.swagger.io
источник

A

Arushwl in Svelte [svelt]
Спасибо всем
источник

T

Th0r in Svelte [svelt]
Evgeny Reznichenko
тогда все от проекта зависит. у меня сейчас наш бек и единственная проблема что мне часто приходится открывать свагер и смотреть ту структуру которую возвращает сервер. И тут мне бы заглаза хватило описания типов, просто как документация для удобства разработки
иногда достаточно jsdoc`ом описать функции, vscode их автоматом подсвечивает например
источник

ДЧ

Дмитрий Чуканов in Svelte [svelt]
так а что не так то
источник