У меня есть сцена, на которой я написал довольно много кода Erlang, и я вижу, что какой-то стиль (плохой или хороший) ползет к тому, как я его писал. Эта конкретная идиома, на которую мне хотелось бы высказать мнение, - лучше ли (более читабельно/быстрее/безотносительно) преобразовывать операторы стиля case в соответствие шаблону функции?
например.
Сравнить (надуманный пример)
case {Size > 100000, Type} of
{true, ets } ->
%% Do something to convert to dets
something;
{false, dets} ->
%% do something to convert to ets
somethingelse;
_ ->
ignoreit
end;
с
...
maybeChangeStorage(Size, Type)
...
maybeChangeStorage(Size, ets) when Size > 10000 ->
something;
maybeChangeStorage(Size, dets) when Size < 10000 ->
somethingelse;
maybeChangeStorage(_,_) ->
ignoreit.
Я предпочитаю последнее в большинстве случаев, но меня бы интересовало другое мнение.