@proRuby

Страница 1446 из 1594
Alex
19.09.2018
07:46:33
у тебя ситуация которую ты не предусмотрел

Nikita
19.09.2018
07:46:35
нет пускай все работает с ошибками

Tim
19.09.2018
07:46:40
суть класса в том, что он должен выполнить задачу свою. он её либо выполняет, либо нет

Alex
19.09.2018
07:46:51
если он ее не выполнил - мы хотим знать почему

Google
Tim
19.09.2018
07:46:51
если при выполнении задачи он всю аппликуху к хуям роняет

это говнокласс

Alex
19.09.2018
07:47:00
запрос а не апликуху

роняет намеренно

Nikita
19.09.2018
07:47:04
как ты тестировал тогда?

Tim
19.09.2018
07:47:08
Alex
19.09.2018
07:47:16
ну а почему не знаешь?
ты господь бох шоле?

современные системы сложные

Nikita
19.09.2018
07:47:24
тогда тебе нужно промеж рогов дать, что ты так тесты написал, и твоим QA

Tim
19.09.2018
07:47:26
скажите пожалуйста четко, что вам именно не нравится?

Alex
19.09.2018
07:47:31
че угодно может вальнуться в определенной конфигурации

Google
Tim
19.09.2018
07:48:00
так, мне кажется вы меня недопоняли

когда ты в rescue блоке рейзишь эксепшен

то у инстанса эксепшена есть в #cause

эксепшен, в результате которого он был вызван

ещё раз, что вам не нравится?

Alex
19.09.2018
07:49:07
эксепшен, в результате которого он был вызван
че в каждом контроллере куда то это сохранять будешь?

Alex
19.09.2018
07:49:22
ну есть он там

а по факту кто его инспектить будет? никто

kolas
19.09.2018
07:49:55
зачем дальше рейзить если можно вернуть ошибку, как в го ?

Alex
19.09.2018
07:49:59
два варианта - либо пишешь дефенсиный сервис который ошибку ложит куда то, но наверх не пробрасывает а возвращает пустой результат, либо валит все на уровне http запроса

можно еще ошибки-монады сделать да

Tim
19.09.2018
07:50:21
вопрос, а зачем его инспектить? ты сам спрашиваешь, как узнать. я говорю, вот так. тебе не надо знать в запросе из-за чего конкретно у тебя свалился сервис. тебе надо лишь знать, что он свалился

Alex
19.09.2018
07:50:31
На самом деле, мне вот интересно стало, почему люди так не хотят использовать result объект и делают все, что бы юзать что угодно, но не его

Tim
19.09.2018
07:50:33
потому что если у тебя весь запрос валится после вызова сервиса

то я повторяюсь

это говно сервис

Tim
19.09.2018
07:51:10
всмысле не надо знать изза чего свалился?
в прямом. а если надо, то лезешь в cause

Alex
19.09.2018
07:51:10
это говно сервис
это сервис который намеренно ошибку наружу пробрасывает

Google
Alex
19.09.2018
07:51:33
если нас такое не устраивает по каким то причинам, то он должен сходить в хранилище ошибок и записать ее туда, вернув пустой результат консумеру

из кишок
из хишок. Потому что если он вальнулся то это непредвиденная ситуация

для которой сюрприз сюрприз, exception и нужен

Alex
19.09.2018
07:52:15
и ты либо в фоне эту ошибку куда то сохраняешь, либо явно

в твоём представлении
предложи варианты получше, я готов к диалогу

Tim
19.09.2018
07:52:38
для которой сюрприз сюрприз, exception и нужен
эксепшен это не только для НеПрЕдВиДеНнЫх ситуаций

Alex
19.09.2018
07:52:47
для control flow?

Tim
19.09.2018
07:52:52
ошибка сети – это предвиденная ситуация, но при этом заслуживающая эксепшена

эксепшен это когда что-то, что ты хотел сделать, не было сделано

Alex
19.09.2018
07:53:12
для этого есть retry паттерн

эксепшен это когда что-то, что ты хотел сделать, не было сделано
эксепшен это когда программа пошла по неоптимальному маршруту

в оптимальном маршруте эксепшенов нету.

Tim
19.09.2018
07:54:00
предложи варианты получше, я готов к диалогу
ну вот, мы сейчас альтернативный вариант обсуждаем. как оказывается, у нас разные представления о том, в чем является цель эксепшенов

Alex
19.09.2018
07:54:03
а непредвиденные эксепшены мы тем более хотим знать

потому что они непредвиденные

Tim
19.09.2018
07:54:17
а непредвиденные эксепшены мы тем более хотим знать
ну так ты их и будешь знать, в ньюрелике

Alex
19.09.2018
07:54:20
ошибка сети должна быть обернута в retry со стратегией

Google
Tim
19.09.2018
07:54:23
в чем проблема, я не пойму

ты споришь ради спора?

Alex
19.09.2018
07:54:34
ну так ты их и будешь знать, в ньюрелике
как я их буду знать если ты их сглатываешь?

Tim
19.09.2018
07:54:50
как я их буду знать если ты их сглатываешь?
посмотри внимательнее на мой код

Alex
19.09.2018
07:54:57
а се.

Ты меня походу не понял

Tim
19.09.2018
07:55:11
я ведь даже тут ещё в сообщениях писал, непредвиденные ошибки я отправляю в ньюрелик

Alex
19.09.2018
07:55:14
ты пошел по второй стратегии где ты фоново сохраняешь ошибку

Tim
19.09.2018
07:55:25
когда вы научитесь читать что другие люди пишут?

Admin
ERROR: S client not available

Alex
19.09.2018
07:55:40
из чего я делаю вывод что мы в сообщения друг друга вообще не вдумывались

когда вы научитесь читать что другие люди пишут?
я тебе в одном из сообщений описал ровно тот кейс который ты реализовал. Ты прочел это сообщение? нет. И я твое нет.

Tim
19.09.2018
07:56:02
и насчёт твоего предложения возвращать ничего если не получилось, а в инстансах сохранять ошибку, я тебе говорю

Tim
19.09.2018
07:56:22
мой путь это тоже самое, только эта ошибка сохраняется прям в эксепшене

Alex
19.09.2018
07:56:27
не надо control flow на эксепшенах

Anton
19.09.2018
07:56:28
эксепшен это когда что-то, что ты хотел сделать, не было сделано
Это когда результат выполнения кода не позволяет эксплуатировать код дальше

Tim
19.09.2018
07:57:43
смотри. ты говоришь сети, скачай лошадей с хуями. она скачивает – ок, ты как-то обрабатываешь. она не скачивает – получается эксепшен и ты его обрабатываешь

Google
Tim
19.09.2018
07:58:21
Потому что код эксплуатироваться не может
у меня нет уверенности, что наши определения тождественны

Alex
19.09.2018
07:58:34
у меня нет уверенности, что наши определения тождественны
если коду надо сходить в базу, а он не может

Tim
19.09.2018
07:58:34
зачем control flow на эксепшенах?
а зачем в результат запихивать лишнюю инфу?

Alex
19.09.2018
07:58:36
то что?

а зачем в результат запихивать лишнюю инфу?
это ты в результат пихаешь лишнюю инфу

Tim
19.09.2018
07:58:50
то что?
зачем?

Alex
19.09.2018
07:58:52
если ты эксепшен сохранил куда то

то просто возвращаешь статус что не можешь вернуть результат

Tim
19.09.2018
07:59:09
это ты в результат пихаешь лишнюю инфу
у меня результат чистый. если не получилось, получаешь эксепшен

Alex
19.09.2018
07:59:11
зачем на эксепшенах флоу строить?

я каждый вызов сервиса должен в rescue оборачивать

вместо получения result объекта

Tim
19.09.2018
07:59:59
я каждый вызов сервиса должен в rescue оборачивать
ну а иначе каждый результат сервиса обрабатывать

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

Tim
19.09.2018
08:01:06
у меня я точно уверен что моя штука вернёт лошадей с хуями и не надо ничего сто раз проверять

Alex
19.09.2018
08:01:09
их можно даже зачейнить

Tim
19.09.2018
08:01:11
не вернула? пошел по другому пути

Dmitriy
19.09.2018
08:01:46
тот же рейлвей можно сделать через result.success? - так же всего один иф будет

Страница 1446 из 1594