Podobna mi jest konwencja Javy, która ma jedną klasę publiczną na plik, nawet jeśli czasami istnieją dobre powody, aby umieścić więcej niż jedną klasę publiczną w jednym pliku. W moim przypadku mam alternatywne implementacje tego samego interfejsu. Ale jeśli chciałbym umieścić je w oddzielnych plikach, musiałbym nadmiarowych nazw w sprawozdaniu importowych (lub mylące nazwy modułu):Porządkowanie klas Pythona w modułach i/lub pakietach
import someConverter.SomeConverter
natomiast someConverter
byłyby plik (moduł) imię i nazwisko klasa SomeConverter
. Wygląda to dla mnie bardzo nieelegancko. Aby umieścić wszystkie alternatywne zajęcia w jednym pliku doprowadziłoby do bardziej znaczącej instrukcji import:
import converters.SomeConverter
Obawiam się jednak, że pliki stają się dość duża, jeśli mogę umieścić wszystkie pokrewne zajęcia w jednym pliku modułu. Jaka jest tutaj najlepsza praktyka Pythona? Czy jedna klasa na plik jest nietypowa?
Kiedy masz do czynienia z projektem obejmującej 10'000 zajęć, będziesz szczęśliwy, jeśli można znaleźć klasę (publiczne) przez swojego pliku (nazwa pakietu) zamiast konieczności przeszukiwania zawartości pliku ll files. to prawdopodobnie powód, dla którego Java wymusza, że istnieje tylko jedna klasa publiczna na plik i że nazwa pliku musi być nazwą klasy. –