Il giorno 30/gen/08, alle ore 15:01, Java ha scritto: > >> Come risolve lo stesso problema Python? Il tipo è ininfluente, fare >> funzioni che accettano un numero variabile di argomenti è banale, >> comodo da gestire e piuttosto gradevole da leggere (again, named >> parameters). >> >> > Ora non esageriamo, non è che tutto ciò che fa python è bello e > fantastico e ciò che fanno altri linguaggi fa schifo.
Penso che nessuno qui dentro la pensi così, anzi in genere chi usa python conosce e usa almeno un altro linguaggio... > L'overloading è molto comodo proprio per migliorare la leggibilità del > codice. Se non hai altre soluzioni, si... > supponi di avere 10 metodi overloadati (ARGH!). E supponi che > ognuno sia > di 100 righe di codice. > Secondo te è meglio avere un unico metodo con tutti gli if chee in > base > alla combinazione di valori passati per parametro esegue uno o l'altro > ramo dell'if-then-else? La tipizzazione in python è dinamica. Questo significa che in molti dei casi in cui in linguaggi a tipizzazione statica devi fare un overload, in python usi una sola funzione con i suoi parametri, e ti funziona in ogni caso. Nei casi rimanenti, la cosa più leggibile è creare diverse factory (per i costruttori) o metodi con nomi più indicativi IMHO. > > Io ritengo che sia meglio avere 10 metodi separati, ognuno con i suoi > commenti e la sua documentazione. Cosa che puoi tranquillamente fare anche in python. 10 metodi separati, ognuno con i suoi commenti, la sua documentazione e soprattutto il suo nome, che se scelto bene vale un 50% della documentazione! -- Antonio Valente _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python