Size: a a a

2020 March 03

SM

Sergei Maximov in pro.elixir
А зачем тут гайд? Запускай процесс, дёргай его GenServer.cast/GenServer.call/посылай сообщения. В ex_unit есть ещё assert_receive.
источник

AB

Alexey Bolshakov in pro.elixir
а на предмет чего тестов?
источник

SM

Sergei Maximov in pro.elixir
Есть ещё тема: отделить реализацию логики твоего генсервера от самого модуля генсервера в отдельный модуль и тестировать этот модуль
источник

DS

D & S in pro.elixir
Как замокать gen_tcp? Чатик на сокетах пишу
источник

SM

Sergei Maximov in pro.elixir
Можно не мокать, а поднимать tcp клиент/сервер в разных процессах
источник

DS

D & S in pro.elixir
😯 это идея
источник

DS

D & S in pro.elixir
Спасибо
источник

V

Vyacheslav in pro.elixir
А можно отделить реализацию логики твоего генсервера от самого модуля генсервера в отдельный модуль генсервера и тестировать этот генсервер
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Серить в каждом модуле
Вот тут не соглашусь. Бывшие эрлангисты везде пишут
def myownmap([]), do: []
def myownmap([head | tail]) do
 [f(head) | myownmap(tail)]
end

Этими функциями завален каждый модуль, что не круто, когда есть Enum
источник

LL

Lama Lover in pro.elixir
D & S
Среди ерлангистов существует мнение, что handle_call в принципе не нужен и лучше все интерекншы писать через handle_cast
Это что-то из серии не пишите Agent, пишите GenServer
источник

D

Dk in pro.elixir
Dmitry Russ (Aleksandrov)
Я вчера с коллегой общался и мы жаловались немного другу другу, что у нас в команде и много бывших рубистов/питонистов/яваскриптеров пишут не функционально в Elixir-е, избегают рекурсии, а ещё круто видеть способы симуляции for loop-ов без рекурсии... Среди Erlang-истов такого явления я не помню. Либо потому что литература лучше освещает все эти моменты.... Чего только книга Армстронга стоит(я конечно уже очень давно её читал), подобного в Elixir-е нет... Гипотеза: Возможно экзотический синтакс и не возможность перебаиндить переменную заставляет людей лучше погрузиться в Erlang, чем то что происходит с Elixir-ом - ну, немного неудобно без for, while, но вот так я форчик симулировать буду и фигачить как на Ruby уже через две недели буду. Кто-то ещё встречался с подобным явлением?
У меня обратный случай был. Я на работу когда устраивался, то задавались обычные вопросы на проверку знаний. Включая вопрос про рекурсию.

А когда я уже работал и добавил рекурсию в кодовую базу - на меня смотрели удивлённо
источник

LL

Lama Lover in pro.elixir
Dmitry Russ (Aleksandrov)
Я вчера с коллегой общался и мы жаловались немного другу другу, что у нас в команде и много бывших рубистов/питонистов/яваскриптеров пишут не функционально в Elixir-е, избегают рекурсии, а ещё круто видеть способы симуляции for loop-ов без рекурсии... Среди Erlang-истов такого явления я не помню. Либо потому что литература лучше освещает все эти моменты.... Чего только книга Армстронга стоит(я конечно уже очень давно её читал), подобного в Elixir-е нет... Гипотеза: Возможно экзотический синтакс и не возможность перебаиндить переменную заставляет людей лучше погрузиться в Erlang, чем то что происходит с Elixir-ом - ну, немного неудобно без for, while, но вот так я форчик симулировать буду и фигачить как на Ruby уже через две недели буду. Кто-то ещё встречался с подобным явлением?
Это нормально, что люди, которые только начали писать на новом языке, приносят привычки из старого
Другой вопрос зачем эликсир такое вообще позволяет? Думаю, его родство с императивными языка это один из его плюсов, так сказать, обман чтобы собрать классы. Тяжело вообще освоить декларативный стиль программирования, когда ты всю жизнь думал императивно
источник

DS

D & S in pro.elixir
Lama Lover
Это что-то из серии не пишите Agent, пишите GenServer
Ну насчёт нужности agent я не сомневаюсь
источник

DS

D & S in pro.elixir
У меня происходит обратное явление, где я в энтерпрайз тяну стиль из эликсира и мне говорят, что так не пишут на джаве
источник

LL

Lama Lover in pro.elixir
D & S
У меня происходит обратное явление, где я в энтерпрайз тяну стиль из эликсира и мне говорят, что так не пишут на джаве
И они правы.
"Каждому своё" написано на дверях жава буткемпа
источник

DS

D & S in pro.elixir
Ничего плохого не вижу в применении концепций из други языков, если они хорошо ложатся на задачу
источник

LL

Lama Lover in pro.elixir
D & S
Ничего плохого не вижу в применении концепций из други языков, если они хорошо ложатся на задачу
Также говорил Гвидо ван Россум, опомнись!
источник

D

Dk in pro.elixir
Lama Lover
Также говорил Гвидо ван Россум, опомнись!
говорил-говорил, а хвостовую рекурсию не оптимизировал
источник

DS

D & S in pro.elixir
Лол
источник

DS

D & S in pro.elixir
И теперь в кровавом есть классик в сотню строк в фп стиле, который отвечает за создание квери кастомного дсл в зависимости от кучи параметров. И под это написан параметрайзд тест с уже под 200 кейсами. И теперь когда нужно туда, что-то добавить это делается очень легко. Вот только нужно знать куда добавлять...
источник