Size: a a a

2021 July 03

SN

Shub Niggurath in F# Chat
А если бы они соблюдали собственные контракты, так вообще бы этой проблемы не было. Сапогом пинают их саппорт, впрочем, чей бы не пинали - они не кинутся фиксить, мы это достоверно знаем
источник

SB

S B in F# Chat
Но таким аргументом ты и сводишь все к частному (вашему) случаю. Я же с тобой спорил про «общий» случай.
источник

SB

S B in F# Chat
Где валидация предполагает, что ты следишь за ошибками валидации и можешь за них «пояснить».
источник

SN

Shub Niggurath in F# Chat
Ну когда мы с тобой будем работать в «общих» проектах, где будет «общая» валидация - тогда можно поговорить предметно. А так валидация в каждом случае своя, вообще само понятие «валидности». У упомянутых чудаков например отрицательный вес - валиден, а так же отрицательные количества, как мне им объяснить, что в общем случае это неправильно?
источник

SN

Shub Niggurath in F# Chat
Пояснить за них я могу очень просто: выдать вопрошающему строчку в логах с исключением
источник

SN

Shub Niggurath in F# Chat
Да и что именно ты можешь сделать с этим списком ошибок валидации? Посчитать, сколько их было?
источник

SB

S B in F# Chat
Толко ситхи все возводят в абсолютно. Так-то я просто пытался сказать, что None недостаточно информативен при валидации т.к. ничего не говорит о том, где проблема и не дает ровно никакого понимания, как это исправить.
источник

SN

Shub Niggurath in F# Chat
В результате ты его все равно просто залогируешь - это максимум, пожалуй. Ну может покажешь юзеру в каких-то случаях
источник

SB

S B in F# Chat
Так это уже неплохо, лучше чем «идите нахуй, мы вас не ждали».
источник

SN

Shub Niggurath in F# Chat
Ну само собой. Только есть ситуации, когда это и не нужно
источник

SN

Shub Niggurath in F# Chat
Это если юзер может влиять на эти данные. И может их поменять
источник

SB

S B in F# Chat
Так статья-то про код, который вполне очевидно о том, что валидация сложная и ошибки вероятны. Иначе нахуя в типы выносить домен, если не для безопасности (от опасности).
источник

SN

Shub Niggurath in F# Chat
А нам приходят сообщения из системы хер пойми каких размеров, я вообще даже не жду, что их саппорт инженер побежит выяснять, откуда они такие приходят. У них там 100 рыл в команде, тысячи сервисов
источник

SB

S B in F# Chat
И там None.
источник

SN

Shub Niggurath in F# Chat
Кто это выносит валидацию в домен? Домен оперирует идеальными понятиями, у нас и слой поэтому есть, чтобы в домене ничем таким не маяться
источник

SN

Shub Niggurath in F# Chat
Собственно, поэтому и выкидываются невалидные данные еще по пути к домену, чтобы там не упало ничего
источник

SN

Shub Niggurath in F# Chat
None - это у нас. И у нас ровно два случая, когда он может образоваться. Parse error и validation error
источник

SB

S B in F# Chat
Не суть, да, это другой слой — ок. Суть в том, что такой код как в статье вреден невозможностью пояснить за ошибку. То есть, при получении None у тебя нет простого способа выйти из ситуации.
источник

SB

S B in F# Chat
В статье тоже.
источник

SB

S B in F# Chat
Я на это и тригерирнулся.
источник