Size: a a a

2021 March 09

DR

Dmitry Russ (Aleksan... in pro.elixir
Denis Fakhrtdinov
А чем вам тапл не обертка?
Не для каждой - я лично предлагаю использовать конвенцию {:ok, result} | {:error, error} - как в Erlang-е везде, но ошибки делать содержательными, чтобы было из ошибки понятно, что пошло не так.

Это сильно упрощает потом передачу ошибки пользователю.
источник

LL

Lama Lover in pro.elixir
Завернул в тупл, сматчил по нему, развернул
источник

DF

Denis Fakhrtdinov in pro.elixir
И это дольше чем по стеку прыгать?
источник

D

D in pro.elixir
рискну предположить что структуры удобнее, если нужно по всякому парсить дальше эти ошибки, например навешивать протокол
источник

AD

Anastasiya Dyachenko in pro.elixir
Dmitry Russ (Aleksandrov)
Не для каждой - я лично предлагаю использовать конвенцию {:ok, result} | {:error, error} - как в Erlang-е везде, но ошибки делать содержательными, чтобы было из ошибки понятно, что пошло не так.

Это сильно упрощает потом передачу ошибки пользователю.
не, он имеет в виду {:foo, {:ok, _}} <- {:foo, function()}
источник

DR

Dmitry Russ (Aleksan... in pro.elixir
Anastasiya Dyachenko
не, он имеет в виду {:foo, {:ok, _}} <- {:foo, function()}
Ну, я так не делаю нигде 🙂 Поэтому у меня тут другое мнение
источник

LL

Lama Lover in pro.elixir
Denis Fakhrtdinov
И это дольше чем по стеку прыгать?
А что там прыгать? Компилятор инлайнит нерекурсивные defp функции, вызывающиеся один раз
источник

DF

Denis Fakhrtdinov in pro.elixir
А ветвление?
источник

LL

Lama Lover in pro.elixir
Denis Fakhrtdinov
А ветвление?
А что ветвление?
источник

DF

Denis Fakhrtdinov in pro.elixir
Ну в функции как минимум будет ветвление на ответ.
источник

DF

Denis Fakhrtdinov in pro.elixir
Чтобы вернуть правильный тапл наружу.
источник

DF

Denis Fakhrtdinov in pro.elixir
Нам же нужно вернуть {:error, :service1_request_failed}
источник

LL

Lama Lover in pro.elixir
Denis Fakhrtdinov
Ну в функции как минимум будет ветвление на ответ.
Угу, это так
Но ровно то же ветвление будет в with с {:step_name, _}, от него никуда не деться
источник

DF

Denis Fakhrtdinov in pro.elixir
Это ветвление будет уже вторым.
источник

DF

Denis Fakhrtdinov in pro.elixir
Но вообще смешно слушать про "дольше". Мы тут недавно рассуждали про стракты, мне там доказывали что скорость фигня, поэтому рекорды не нужны.
источник

DF

Denis Fakhrtdinov in pro.elixir
Оказывается, скорость нужна, но только в with.
источник

DF

Denis Fakhrtdinov in pro.elixir
Уф вы хитрые злодеи, опять меня затянули в разговор.
источник

LL

Lama Lover in pro.elixir
Denis Fakhrtdinov
Оказывается, скорость нужна, но только в with.
Ну тут типа скорость + консистенотность против 2 секунд сэкономленного времени разработчика
источник

DF

Denis Fakhrtdinov in pro.elixir
@liveforeverx а ещё я никогда не говорил слова "объективно", в отличие от вас: моё мнение — это моё мнение.
источник

DF

Denis Fakhrtdinov in pro.elixir
И по моему мнению я могу шатать эликсир как захочу, потому что это субъективно.
источник