Mi piace la convenzione Java di avere una classe pubblica per file, anche se a volte ci sono buone ragioni per inserire più di una classe pubblica in un singolo file. Nel mio caso ho implementazioni alternative della stessa interfaccia. Ma se io li metterei in file separati, avrei nomi ridondanti nelle istruzioni di importazione (o nomi di modulo ingannevole):Organizzazione delle classi Python in moduli e/o pacchetti
import someConverter.SomeConverter
mentre someConverter
sarebbe il file (e modulo) nome e il nome della classe SomeConverter
. Questo mi sembra abbastanza poco elegante. Per mettere tutte le classi alternative in un unico file porterebbe ad un'istruzione import più significativo:
import converters.SomeConverter
ma temo che i file diventano abbastanza grandi, se ho messo tutte le classi correlate in un unico file di modulo. Qual è la migliore pratica di Python qui? Una classe per file è inusuale?
con il tempo hai a che fare con un progetto che consiste di 10.000 classi, sarete felici se si può trovare una classe (pubblico) dal suo file (e il pacchetto) nome invece di dover cercare il contenuto di a Tutti i file ... questo è probabilmente il motivo per cui Java impone che esiste solo una classe pubblica per file e che il nome del file deve essere il nome della classe. –