Styl Erlang - dopasowywanie wzorców przypadków do funkcji
Doszedłem do etapu, na którym napisałem już trochę kodu Erlang i widzę jakiś styl (zły lub dobry) wkradający się w sposób, w jaki to pisałem. Ten szczególny idiom, na który chciałbym mieć opinię - czy jest on lepszy (bardziej czytelny / szybszy / cokolwiek) do konwertowania instrukcji stylu case na dopasowywanie wzorców funkcji?
Na przykład.
Porównaj (wymyślony przykład)
<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>
z
<code>... maybeChangeStorage(Size, Type) ... maybeChangeStorage(Size, ets) when Size > 10000 -> something; maybeChangeStorage(Size, dets) when Size < 10000 -> somethingelse; maybeChangeStorage(_,_) -> ignoreit. </code>
W większości przypadków wolę ten drugi, ale byłbym zainteresowany inną opinią.