Ciao a tutti, dopo l'uscita di Ruby 2.0 mi sono finalmente riuscito ad avvicinare ai refinements. Dopo essermi letto gli articoli di Katz e il rebuttal di Nutter, confermo i miei dubbi iniziali. Faccio una domanda un po' naive e poi ci lavoro sopra: a cosa servono i refinements? I moduli non erano simpatici abbastanza? Il problema principale (che coinvolge per una minima parte della community) che i refinement sono inutili in situazione di concorrenza, se non addirittura deleteri. La possibilit, di fatto, di cambiare un blocco a runtime che rendono disponibile l'esatto contrario di una architettura concorrente sensata. La gestione del loro scoping inoltre oltremodo confusa, piuttosto facile creare situazioni in cui il metodo refined non funziona o altera funzionalit core. A me sembra che si sia semplicemente cercato di codificare il monkey-patching, che comunque una pratica pessima da adottare a meno che non si sia costretti. Che ne dite? PS. non un post da "old geezer", non sono il tipo, che proprio non capisco. -- Luca Pradovera luca.pradovera@gmail.com
on 2013-03-11 11:26
on 2013-03-11 14:27
Il 11 marzo 2013 11:26, Luca Pradovera <luca.pradovera@gmail.com> ha scritto: > Ciao a tutti, > dopo l'uscita di Ruby 2.0 mi sono finalmente riuscito ad avvicinare ai refinements. > Dopo essermi letto gli articoli di Katz e il rebuttal di Nutter, confermo i miei dubbi iniziali. [...] > PS. non un post da "old geezer", non sono il tipo, che proprio non capisco. non credo che fugher tutti i tuoi dubbi, ma questo a me ha chiarito parecchio le idee: http://confreaks.com/videos/1275-rubyconf2012-ruby... michele.
on 2013-03-11 15:12
On Mar 11, 2013, at 11:26 AM, Luca Pradovera wrote: > A me sembra che si sia semplicemente cercato di codificare il monkey-patching, che comunque una pratica pessima da adottare a meno che non si sia costretti. > Che ne dite? Come dici tu, a volte si e' costretti. in questi casi, poter confinare ill mio patch in un modulo non e' cosa bella? Ciao D
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.