[ruby-it] Campagna anti-if

David Welton davidnwelton a gmail.com
Mer 5 Dic 2007 16:00:21 CET


Mi sembra un esempio banale di un if superfluo.  Direi che senza
pattern matching, eliminarli davvero e` un po' difficile.  In un
linguaggio come Erlang, con pattern matching, la presenza di un if e`
quasi sempre sospetto.  Anche se... il pattern matching con le
funzioni a volte mi sembra un po' contrario al 'dont repeat yourself',
perche` finisci per ripeterti molto in alcuni casi:

Per esempio:

handle_call({get, Keys}, _From, #state{sock = Sock} = S) ->
    Reply = process_get(Sock, Keys),
    {reply, Reply, S#state{sock = Sock}};
handle_call({set, Operation, Key, Flags, Expire, Bytes}, _From,
#state{sock = Sock} = S) ->
    Reply = process_set(Sock, Operation, Key, Flags, Expire, Bytes),
    {reply, Reply, S#state{sock = Sock}};
handle_call({delete, Key, Time}, _From, #state{sock = Sock} = S) ->
    Reply = process_delete(Sock, Key, Time),
    {reply, Reply, #state{sock = Sock} = S};
handle_call(quit, _From, #state{sock = Sock} = _) ->
    gen_tcp:close(Sock),
    {reply, ok, {}}.

Saluti,
-- 
David N. Welton

http://www.welton.it/davidw/

http://www.dedasys.com/


Maggiori informazioni sulla lista Ml