Size: a a a

F# Flood: Be a cheif

2021 January 27

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
это был большой шаг от процедурного программирования, но теперь надо пойти дальше
давай попроще) есть обычный кейс - 5 полей, пользователь меняет 1 поле и остальные пересчитываются. поля зависят друг от друга и вычисления могут быть асинхронные
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
супер обычный сценарий для бизнес логики
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
покажи как это будет на F#
источник

R

Roman in F# Flood: Be a cheif
type T ...
    with
    member this.Eval = this.A + this.B
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
type T ...
    with
    member this.Eval = this.A + this.B
я поменял поле А как Eval пересчитается?
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
и он может быть асинхронным
источник

R

Roman in F# Flood: Be a cheif
eval тут это обычный гет проперти
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
eval тут это обычный гет проперти
поэтому я и говорю про асинхронность
источник

R

Roman in F# Flood: Be a cheif
сделать его асинхронным несложно, но бля — это же антипаттерн жуткий
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
сделать его асинхронным несложно, но бля — это же антипаттерн жуткий
ну вот ты и начал писать говнокод на F#
источник

R

Roman in F# Flood: Be a cheif
я всего лишь поменял поле, а у меня под капотом хуй пойми где пошел ИО вызов — это говнокод на любом языке
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
Roman
я всего лишь поменял поле, а у меня под капотом хуй пойми где пошел ИО вызов — это говнокод на любом языке
а я тебе говорил что то про то,что надо вычислять значения в пропертях?
источник

((

(fun () -> ()) in F# Flood: Be a cheif
а что мешает IO посчитать не здесь, а слоем выше?
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
может стоит посчитать снаружи и сохранить в поле?
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
как я уже говорил - наговнякать можно на чём угодно, как и написать нормальный код
источник

R

Roman in F# Flood: Be a cheif
Ilya Chernoudov
а я тебе говорил что то про то,что надо вычислять значения в пропертях?
ты мне пока вообще ничего внятного не сказал. Напиши сишарповый код, я скажу, как его транслировать в фшарп
источник

R

Roman in F# Flood: Be a cheif
или хотя бы подробный сценарий
источник

((

(fun () -> ()) in F# Flood: Be a cheif
Ilya Chernoudov
как я уже говорил - наговнякать можно на чём угодно, как и написать нормальный код
ну вот и писали бы на алголе
источник

((

(fun () -> ()) in F# Flood: Be a cheif
а то напридумывали тут всякой фигни
источник

IC

Ilya Chernoudov in F# Flood: Be a cheif
(fun () -> ())
ну вот и писали бы на алголе
разве весь код на алголе говнокод?
источник