Size: a a a

Saint P Ruby Community

2020 January 28

AD

Anton Davydov in Saint P Ruby Community
Mikhail Sytchev
я понимаю, что есть другой устоявшийся инструментарий в виде тех же операций, но вот раньше в серьезных толстых книжках именно так учили делать
Думаю раньше просто не знали, что можно по другому
источник

AD

Anton Davydov in Saint P Ruby Community
Mikhail Sytchev
не безопасно в каком плане?
Ты можешь ошибку пропустить и все посыпется на валидных случаях
источник

MS

Mikhail Sytchev in Saint P Ruby Community
ты можешь так же не учесть обработку ошибки в результирующем объекте =)
источник

MS

Mikhail Sytchev in Saint P Ruby Community
ну и это же не в рантайме проявится,  а на тестах
источник

m

mighty λord raventid in Saint P Ruby Community
Вот у меня такие же вопросы
источник

AD

Anton Davydov in Saint P Ruby Community
Обычно ты обрабатываешь сразу весь класс ошибок
источник

K

Kirill in Saint P Ruby Community
я не хотел запускать холливар, просто так исторически сложилось, поэтому и спросил может кто то делал такую штуку
источник

AD

Anton Davydov in Saint P Ruby Community
Mikhail Sytchev
ну и это же не в рантайме проявится,  а на тестах
Не все пишут тесты, которые проверяют всю логику
источник

MS

Mikhail Sytchev in Saint P Ruby Community
Kirill
я не хотел запускать холливар, просто так исторически сложилось, поэтому и спросил может кто то делал такую штуку
да давно пора этот чатик взбодрить
источник

AD

Anton Davydov in Saint P Ruby Community
Kirill
я не хотел запускать холливар, просто так исторически сложилось, поэтому и спросил может кто то делал такую штуку
Да не, холивара нет, это тупо вкусовщина обычно
источник

IM

Igor Morozov in Saint P Ruby Community
На самом деле, до появления PM смысла и разницы какой-то серьёзной не было
источник

MS

Mikhail Sytchev in Saint P Ruby Community
PM — в данном контексте что?
источник

IM

Igor Morozov in Saint P Ruby Community
Паттерн матчинг
источник

IM

Igor Morozov in Saint P Ruby Community
Я готовлю разговор и писанину на тему этих результирующих объектов и исключений, и на самом деле разница не то чтоб настолько серьёзная была
источник

IM

Igor Morozov in Saint P Ruby Community
С монадками получше, но ведь кто-то и Interactor с ActiveInteractor использует
источник

MS

Mikhail Sytchev in Saint P Ruby Community
о, я бы посмторел как патерн матчинг в руби для обработки исключений применить
источник

NB

Nikita Bulai in Saint P Ruby Community
Anton Davydov
Ты можешь ошибку пропустить и все посыпется на валидных случаях
минуточку, так и не понял почему результирующий объект не обладает той же проблемой. Можно тут поподробнее?
источник

IM

Igor Morozov in Saint P Ruby Community
Mikhail Sytchev
о, я бы посмторел как патерн матчинг в руби для обработки исключений применить
во придумал-то

но ты вообще можешь вынести ошибки бизнес-логики и унаследовать их от какого-то базового класса

и в итоге делать rescue DomainError и матчить по конкретным типам внутри. А т.к. внутрь исключений ещё передаёшь какую-то мету, то у тебя это будет выглядеть почти как обработка Result. Только уродливее
источник

A

Alex in Saint P Ruby Community
С бизнеслогикой и исключениями, на мой взгляд, самый большой гемор это отладка. Когда мы можем в любом месте кода сказать: "ну я пошел" и оставив программу, в непонятном состоянии телепортироваться в обработчик, который находится на другой стороне вселенной, расследовать проблемы становится очень больно.
источник

IM

Igor Morozov in Saint P Ruby Community
Igor Morozov
во придумал-то

но ты вообще можешь вынести ошибки бизнес-логики и унаследовать их от какого-то базового класса

и в итоге делать rescue DomainError и матчить по конкретным типам внутри. А т.к. внутрь исключений ещё передаёшь какую-то мету, то у тебя это будет выглядеть почти как обработка Result. Только уродливее
я бы себя к санитарам отправил, если я б так серьёзно код писал
источник