Scusami Marco se ti rispondo solo ora. Ti ringrazio tanto per l'allegato che hai postato.Ora mi è più chiaro.
L'utilissimo commento di Enrico mi ha rincuorato un pò, nel senso che finora non ho usato @staticmethod ed, ogni volta che mi sono domandato se potesse servirmi nel caso che stavo trattando, non ho trovato motivi per usarlo. Comunque è un tool in più...meglio averlo che non averlo. Vi ringrazio. Marco Il 30 novembre 2014 13:06, enrico franchi <enrico.fran...@gmail.com> ha scritto: > > > 2014-11-29 11:15 GMT+00:00 Marco Ippolito <ippolito.ma...@gmail.com>: >> >> ciao Marco, >> ti ringrazio per la risposta. >> >> Ammetto che faccio fatica a comprendere il caso concreto. >> Entrando nello specifico. Consigli di usare @staticmethod quando è >> utile disaccoppiare il metodo dall'oggetto. > > > Personalmente, suggerisco di guardare staticmethod con sospetto. > Ci sono casi in cui e' utile, indubbiamente. Il commento chiave e': > > """ > Avrei potuto utilizzare una normale funzione ma può essere utile avere > tutte le funzioni organizzate sotto lo stesso tetto, oppure può essere > necessario nel caso in cui l'oggetto implementi una specifica > interfaccia. > """" > > In particolare, spesso e volentieri volere a tutti i costi usare > staticmethod per fare il mestiere di funzioni (sotto sotto quello sono, > funzioni nel namespace di una classe) e' indice di qualcosa che non > funziona. > > Poi ci sono una serie di casi in cui la faccenda puo' anche avere senso > (e.g., si sta implementando uno strategy pattern e si hanno parti della > strategia che davvero non dipendono dalla definizione dell'istanza o della > classe). > > In generale, dal mio punto di vista, e' un potenziale smell che sa *molto* > di Javista (ovvero, la maggior parte degli usi di staticmethod che vedo sono > a sproposito, quelli "buoni" sono una minoranza). > > A me verrebbe da dirti: capisci come funziona, archivia da qualche parte che > esiste, cerca di non rivolgerti a lui. Ci potrebbero essere casi in cui devi > farlo, e sperabilmente ti sara' chiaro allora. Sospetta quando succede, > valuta le alternative, e se alla fine porta benefici vai senza paura: e' una > feature del linguaggio e non ha nulla di male di per se. Solo attento a non > usarla a sproposito. > > Se ad un certo punto ti accorgi che stai facendo classi che sono solo o > principalmente raggruppamenti statici in un namespace di metodi correlati, > metti conto che quello sarebbe il mestiere dei moduli. > > > -- > . > ..: -enrico- > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python