Какой лучший способ сделать этот ход?
Сначала.Не.Класс на файл ничего не улучшит, так зачем?
были проблемы с загрузкой в маринованные файлы, которые были сохранены в старом формате
Исправить.У вас должны возникли проблемы с загрузкой файлов, выбранных в старом формате, поскольку имена классов изменились.
Зачем менять их, если это вызывает проблемы?
Если вам абсолютно необходимо их изменить, вы можете попробовать что-то вроде этого для преобразования.Сохраняет исправления обезьян.Переход к вашей новой архитектуре.
import this.that.module
import pickle
import os
legacy_obj= pickle.load( someFile )
os.rename( someFile, someFile+".bak")
import this.that.module.class
new_obj= this.that.module.class( legacy_obj )
pickle.save( someFile )
Существует среднее положение между 1900 строками в одном файле и 8+ файлами по 200+ строками в каждой.Один класс из 200+ строк означает, что у вас могут быть другие проблемы с дизайном.Возможно, вы захотите заняться этим, прежде чем создавать 8 файлов «по 1 классу каждый».
Учтите, что класс из 200 строк уже может делать слишком много.Возможно, вы захотите разложить свои классы, чтобы иметь более тонкие обязанности.Сделав это, вы можете обнаружить, что у вас есть несколько модулей - каждый с несколькими классами.
Возможно, вы захотите разложить коллекции связанных классов на повторно используемые модули.Упрощенный подход «класс-на-файл» может быть плохим способом реструктуризации.