[Python] diversi __init__ ??
Y3s
y3s a katamail.com
Mer 30 Gen 2008 15:13:10 CET
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
More information about the Python
mailing list