Кожен професійний розробник повинен бути (і більшість з них є) пігулкою проти штучного інтелекту:
Детерміновані рішення, не пов'язані зі штучним інтелектом, завжди кращі, ніж недетерміновані рішення на основі штучного інтелекту.
Якщо поліція Пітона прочитає мій код, я отримаю довічне ув'язнення
Я не знав, що локальний імпорт є суперечливим, я постійно імпортую бібліотеки в межах функцій
Але з великою силою приходить і велика відповідальність
Я розумію, що PEP8 пропонує глобальний імпорт, але кожне правило має винятки, і ви повинні знати, коли їх порушувати
Ось кілька переваг місцевого імпорту:
Точно знайте, звідки беруться ваші залежності під час їх використання, замість того, щоб прокручувати файл до початку
може умовно імпортувати модулі, коли/якщо вони вам потрібні
може покращити час завантаження модуля, оскільки вам не потрібно імпортувати все на початку
може допомогти вам вийти з циклічних залежностей (за умови, що ви занадто ліниві, щоб виправити циклічну залежність правильним чином)
Очевидно, що у місцевого імпорту теж є мінуси, але це пухнастий шматок, тому я не буду їх тут згадувати
Загалом, моя рекомендація полягає в тому, щоб використовувати глобальний імпорт, але розуміти компроміси, щоб ви могли скористатися перевагами місцевого імпорту, коли це необхідно
Це навіть віддалено не відповідає дійсності.
Я не впевнений, з чого почати, але одним з найбільш кричущих прикладів тут має бути "React замінив jQuery".
Я перевірив цифри:
В даний час jQuery використовується в 73,5% всіх веб-сайтів (частка ринку 90,4%). React використовується на 5,6% веб-сайтів (частка ринку 6,9%).
Але це лише початок. Майже все інше в списку не є хорошим прикладом:
• GraphQL не замінив REST.
• Мікросервіси не прийшли на зміну монолітам.
• Курсор не замінив VS код.
• ChatGPT не замінив Google.
• C++ не замінив C.
Кожна техніка з часом замінюється:
• FTP → HTTP
• BitKeeper → Git
• jQuery → React
• VS код → курсор
• Google → ChatGPT
• Збірка → C → C++
• Моноліт → мікросервіси
• SOAP → REST → GraphQL