Мне нравится соглашение Java о наличии одного общедоступного класса для каждого файла, даже если иногда есть веские причины поместить более одного общедоступного класса в один файл. В моем случае у меня есть альтернативные реализации того же интерфейса. Но если бы я поместил их в отдельные файлы, я d имеют повторяющиеся имена в операторах импорта (или вводящие в заблуждение имена модулей):
import someConverter.SomeConverter
, тогда как someConverter
будет именем файла (и модуля), а SomeConverter
- именем класса. Мне это кажется довольно неэлегантным. Помещение всех альтернативных классов в один файл привело бы к более значимому оператору импорта:
import converters.SomeConverter
Но я боюсь, что файлы станут довольно большими, если я помещу все связанные классы в один файл модуля. Какая здесь лучшая практика Python? Один класс на файл необычен?