Erlang-Stil - Musterabgleich zwischen Fall und Funktion
Ich bin an dem Punkt angelangt, an dem ich jetzt einiges an Erlang-Code geschrieben habe, und ich kann sehen, wie sich ein Stil (schlecht oder gut) in die Art und Weise einschleicht, wie ich ihn geschrieben habe. Zu dieser bestimmten Redewendung möchte ich eine Meinung abgeben: Ist es besser (lesbarer / schneller / was auch immer), case style-Anweisungen in funktionale Musterübereinstimmung umzuwandeln?
Z.B.
Vergleichen (ein erfundenes Beispiel)
<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>
mit
<code>... maybeChangeStorage(Size, Type) ... maybeChangeStorage(Size, ets) when Size > 10000 -> something; maybeChangeStorage(Size, dets) when Size < 10000 -> somethingelse; maybeChangeStorage(_,_) -> ignoreit. </code>
In den meisten Fällen bevorzuge ich Letzteres, aber ich würde mich für eine andere Meinung interessieren.