Estilo Erlang - coincidencia entre caso y función.
Llegué a la etapa en la que escribí bastante código de Erlang ahora, y puedo ver un cierto estilo (malo o bueno) en la forma en que lo he estado escribiendo. Este lenguaje en particular en el que me gustaría opinar: ¿es mejor (más legible / más rápido / lo que sea) convertir los enunciados de estilo de caso en función de coincidencia de patrones?
P.ej.
Comparar (un ejemplo artificial)
<code>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; </code>
con
<code>... maybeChangeStorage(Size, Type) ... maybeChangeStorage(Size, ets) when Size > 10000 -> something; maybeChangeStorage(Size, dets) when Size < 10000 -> somethingelse; maybeChangeStorage(_,_) -> ignoreit. </code>
Prefiero este último en la mayoría de los casos, pero estaría interesado en otra opinión.