Size: a a a

F# Flood: ПДД made functional, making illegal state INGIBDDdale

2020 May 06

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Denis Bobrov
я не про те админки которые подразумевается юзать больше пары дней-недель
Аааа
источник

M

Mikhail in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Типа совсем на коленке что-то
источник

DB

Denis Bobrov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
как временное решение например для готовой базы или там когда тебе нужно просто что то потыкать в вебморде самое норм решение
источник

DB

Denis Bobrov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
тк админка генерируется самостоятельно и там уже есть авторизация, jwt, вот это вот все из коробки
источник

R

Roman in F# Flood: ПДД made functional, making illegal state INGIBDDdale
аа. Ну, тут есть другая проблема — многие большие админки именно и так зарождаются, но их никто не переписывает вовремя. Все время еще всего лишь пару фич докидывают
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Roman
Ну, я говорю про простые вещи вроде Async<Result<Account, AccountCreateError>>
ты намекаешь, что стоит завернуть все в result и проставить сигнатуры - и все, контроль эффектов?
источник

DB

Denis Bobrov in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Roman
аа. Ну, тут есть другая проблема — многие большие админки именно и так зарождаются, но их никто не переписывает вовремя. Все время еще всего лишь пару фич докидывают
с одной стороны это зря, но с другой стороны - если работает и приносит вэлью, то почему нет
Айрат выше писал - дешевле железа купить чем программистов для того чтобы это переписать
источник

R

Roman in F# Flood: ПДД made functional, making illegal state INGIBDDdale
А потом их не переписывают потому что ну добавить еще одну фичу это конечно геморрой, но переписать это же еще больший гемор, поэтому ну добавим еще а что делать
источник

R

Roman in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Shub Niggurath
ты намекаешь, что стоит завернуть все в result и проставить сигнатуры - и все, контроль эффектов?
я не знаю, что такое православный контроль эффектов. Я всего лишь утверждаю, что когда в сигнатуре есть асинк — это удобно, чтоб понять, что функция делает ИО со всеми вытекающими. И если в сигнатуре резалт с нормально описанными доменными ошибками — с этим тоже проще жить, чем выискивать по коду `BusinessLogicException`ы.
источник

A

Anatoly in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Roman
Ай короче впизду. Пишите как хотите, словно мне больше всех надо
да что сразу в пизду-то. Игрались мы с этими резалт-монадами или как это называется. В результате пришли к тому, что и резалты остались, и исключения. И в код всё равно надо смотреть, если у тебя проект больше полусотни строк
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Anatoly
да что сразу в пизду-то. Игрались мы с этими резалт-монадами или как это называется. В результате пришли к тому, что и резалты остались, и исключения. И в код всё равно надо смотреть, если у тебя проект больше полусотни строк
Ну так у тебя могут быть резалты и исключения, причем и те, и другие могут в сигнатуре отображаться
источник

R

Roman in F# Flood: ПДД made functional, making illegal state INGIBDDdale
а я и не говорю, что надо полностью отказаться от исключений. Все ситуации в резалт не запихнешь, да оно и не надо. Я вон даже в докладе про это и говорил)
источник

A

Anatoly in F# Flood: ПДД made functional, making illegal state INGIBDDdale
могут, да. При этом пихать везде резалт тоже, кмк не вариант.
источник

A

Anatoly in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Мы остановились на разнесении типов на входе и на выходе и на validationexceptions
источник

R

Roman in F# Flood: ПДД made functional, making illegal state INGIBDDdale
поэтому я и уточнил, что доменные ошибки надо в резалт
источник

A

Anatoly in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Task<Account> CreateAccount(AccountCreateRequest acr)
источник

R

Roman in F# Flood: ПДД made functional, making illegal state INGIBDDdale
домен, валидация, бизнес логика — это в резалт. Инфраструктура / непредвиденное говно — в исключения
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Roman
домен, валидация, бизнес логика — это в резалт. Инфраструктура / непредвиденное говно — в исключения
+++
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Самый лучший вариант
источник

R

Roman in F# Flood: ПДД made functional, making illegal state INGIBDDdale
ну в сишарпе резалты делать больно
источник