170 похожих чатов

Весь мой проект состоит из таких кусков - где тут

место отладчику?

33 ответов

8 просмотров

Внешние сервисы, база. Код может работать правильно и без ошибок, контракт верен, тупо данные неправильные

Daniel-Podolsky Автор вопроса
Михаил Макарычев
Внешние сервисы, база. Код может работать правильн...

если это в принципе возможно - код в любом случае надо снабжать валидатором. где тут место отладчику?

Daniel Podolsky
если это в принципе возможно - код в любом случае ...

Часто надо понять, это внешний сервис не те данные отдаёт, или ты в бизнес-логике облажался

Михаил Макарычев
Часто надо понять, это внешний сервис не те данные...

да забей, этот спор не окончится каждый останется при своем мнении

Daniel-Podolsky Автор вопроса
Михаил Макарычев
Часто надо понять, это внешний сервис не те данные...

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

Daniel Podolsky
если это в принципе возможно - код в любом случае ...

А кто сказал, что тот неожиданный json не валидный? Вот ждал ты там где-то 10 (и на этом значении у тебя логика построена), а по факту там 11

Daniel Podolsky
бизнес-логику в любом случае надо покрывать тестам...

Вот есть у меня сервис, который манипулирует только id складов. Он рассчитывает маршруты, например. То есть в базе лежат маршруты из айдишек. На ui склады выводятся с названием. Названия складов я получаю из внешнего сервиса. И этот внешний сервис ответил мне, что склад 1234567 называется "Тверь". А в реальности это не тверь. Как мне помогут тут тесты?

Михаил Макарычев
Вот есть у меня сервис, который манипулирует тольк...

Интеграционные тесты и мониторинг должны поймать эту проблему раньше разработчика

Alexey Palazhchenko
Интеграционные тесты и мониторинг должны поймать э...

Как? Кто-то накосячил в БД стороннего сервиса. Контракты соблюдены. Бизнес-логика отрабатывает правильно. Проблема только в выводе данных на UI

Daniel-Podolsky Автор вопроса
Михаил Макарычев
Вот есть у меня сервис, который манипулирует тольк...

на этот вопрос есть ответ вы начнете писать тесты, и поймете, что то, что вы напридумывали, невозможно покрыть тестами вы измените архитектуру так, чтобы тесты таки можно было написать и ваш код станет лучше профит

Daniel Podolsky
на этот вопрос есть ответ вы начнете писать тесты...

Дело не в архитектуре. Это стандартный пример bff-сервиса. Есть несколько микросервисов, которые манипулируют только id (заказы, маршруты, категории и прочее). Перед выводом на UI все эти данные обогащаются через сторонние сервисы в bff-сервисе. Никто не будет менять архитектуру из-за гошников, которые свято верят в ненужность дебагера

Daniel-Podolsky Автор вопроса
Михаил Макарычев
Дело не в архитектуре. Это стандартный пример bff-...

а как вам дебагер поможет выловить неконсистентность в справочных данных? никак, правда?

Михаил Макарычев
Вот есть у меня сервис, который манипулирует тольк...

Никак. Можно пытаться бороться с этим через типы

Daniel Podolsky
а как вам дебагер поможет выловить неконсистентнос...

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

Dmitriy Sviridov
"Тверь" и "Москва" - это ж один тип

Все так. На самом деле этот подход в корне неверный. Надо ни название населённых пунктов использовать, а прямоугольники/окружности на поверхности. Потому что Москва большая и складов там может быть несколько.

Daniel-Podolsky Автор вопроса
Roman Timofeev
Все так. На самом деле этот подход в корне неверны...

и все равно справочник может оказаться неконсистентен

Михаил Макарычев
Он даст мне уверенность в том, что проблема в непр...

Логирование запросов/ответов стороннего сервиса на изи решает эту проблему.

Daniel Podolsky
и все равно справочник может оказаться неконсистен...

Это да. Ну ты тоже каждый кузнец своему счастью ))

Roman Timofeev
Все так. На самом деле этот подход в корне неверны...

Вы серьёзно? Есть реальные склады, у них есть названия и id. В ui выводятся именно склады. Мне нужно прийти к гендиректору и сказать, что ему запрещено давать названия складам, потому что я не хочу использовать дебагер?

Dmitry Matveev
Логирование запросов/ответов стороннего сервиса на...

У меня 50к рпс. Мне каждый запрос логировать? Если да, то как потом искать нужную запись?

Roman F
А как в дебагере 50к рпс просматривать?

Локально запускаешь сервис и дёргаешь ручку с нужными данными. Всё

Михаил Макарычев
У меня 50к рпс. Мне каждый запрос логировать? Если...

если вы поняли где баг, то найти нужный запрос не составит труда

Михаил Макарычев
Локально запускаешь сервис и дёргаешь ручку с нужн...

Блин, а мне никто не даст из локальной сети дёрнуть эндпоинт с прод данными

Dmitry Matveev
Какими данными? :) вам же их надо где то взять))

Я же говорил, что мы изначально исправляем багу на фронте. Там можно взять данные через f12

Daniel Podolsky
и все равно справочник может оказаться неконсистен...

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

Roman Timofeev
Вообще, если у компании такой бардак с данными в с...

Кстати доля правды в этом есть. Я бывало увольнялся из-за бардака

Михаил Макарычев
Я же говорил, что мы изначально исправляем багу на...

Тогда вообще не понимаю, где тут нужен дебагер. Получается у вас сломан контракт между фронтом и беком.

Михаил Макарычев
Вот есть у меня сервис, который манипулирует тольк...

Откуда появляется знание что 1234567 - это не "Тверь"?

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
1
Святости? Когда дотумкаешь что открытое лучше закрытого - кастани
zamtmn
9
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
ты вот так хотел? а пурджить arg бесполезно это не макрос, вот рестроить arg смысл есть, но в конце области видимости, а не перед началом новой области видимости.
ProMiNick
7
Карта сайта