Недавно мне было поручено поддерживать кучу кода, который довольно сильно использует from module import *
.
Эта кодовая база стала настолько большой, что конфликты импорта/именования двусмысленности/ "где черт выполнил эту функцию, есть, как и восемь импортированных модулей с одним именем?!", которые стали все более распространены.
Двигаясь вперед, я использую явные члены (т.е. import module ... module.object.function()
, чтобы сделать работу по обслуживанию более удобочитаемой.
Но мне было интересно: есть ли IDE или утилита, которая надежно анализирует код Python и рефактории * импортирует инструкции в операторы импорта модулей, а затем добавляет полный путь модуля ко всем ссылкам на членов этого модуля?
Мы не используем метапрограммирование/отражение/ inspect
/monkeypatching сильно, поэтому, если вышеупомянутый IDE/util ведет себя плохо с такими вещами, это нормально.