3 инструмента для Python, которые упростят работу с кодом |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-05-02 19:13 Перевод статьи «3 Insane Secret Weapons for Python» Автор: Алина Уткина С опытом количество используемых в работе инструментов сокращается, поскольку многие из них вы просто перерастаете. Но такие, как эти, остаются в использовании надолго. Инструмент 1: ИИ автодополнение и быстрый доступ к документации с Kite У современных IDE есть встроенное автозаполнение, которое выглядит примерно так: Встроенный инструмент обычно использует документацию для определения имён возможных функций и параметров. Это нормально, но что если редактор получит доступ к коду из всех публичных репозиториев GitHub и начнёт подтягивать не просто имена, а целые строки кода?Прим.ред. Такая функциональность доступна в планах Pro и Team. На момент написания материала для плана Pro действует бесплатная бета-версия. Разберём подробнее особенности Kite — инструмента для Python с функциями умного автодополнения и быстрого доступа к документации. Умные подсказки Плагин Kite смотрит в комплексе ваш код, переменные, часто используемые имена параметров, документацию, и только после сбора всех данных рекомендует что-то вроде этого:
Если хотите, поиграйтесь в песочнице. Copilot для документации Прежде чем беспокоить более опытного коллегу или мчаться за ответами на Stack Overflow, почитайте документацию. Kite Copilot упрощает поиск по документации. Он работает параллельно с IDE и показывает информацию о любых объектах или функциях, на которые наведён курсор.
Работает локально, приватно Вдобавок ко всему, плагин создан для локальной работы, так что вы получаете быстрые советы, работа происходит в автономном режиме, и ваш код никогда не будет отправлен в облако. Это крайне важно для людей с плохим интернет-соединением и тех, кто работает с закрытым исходным кодом. Всё, что нужно сделать, это загрузить и установить плагин Kite для вашего редактора: есть бесплатная версия и Free Beta на Pro план с умным автозаполнением. Инструмент 2: Статическая типизация с Mypy Python — динамически типизированный язык. Это значит, что переменная связывается с типом данных не в момент объявления, а в момент присваивания ей значения. То есть одна и та же переменная может быть и строкой, и целым числом, и каким-либо другим типом в зависимости от последнего присвоенного ей значения. А вот примеры языков со статической типизацией, где для каждой переменной задан один конкретный тип данных, и в логике кода нужно придерживаться именно его: Плюсы и минусы динамической типизации Главное преимущество динамической типизации в том, что вам может быть лень постоянно прописывать типы, и такой язык, как Python, в этом поможет. «Новые Облачные Технологии», Москва, от 70 000 ? А вот недостатков больше: Статическая типизация в Python Обратите внимание на Mypy. Это бесплатный модуль, который позволяет использовать статическую типизацию в работе с Python. Установите его с помощью команды В примере с Mypy мы указываем, что функция возвращает итератор целых чисел. Такое небольшое изменение обеспечивает функции соответствующий вывод. Другим разработчикам достаточно лишь взглянуть на это объявление, чтобы увидеть, какой результат ожидать на выходе, а сам код выдаст ошибку, если заданное условие не будет выполнено. Если вы часто работаете с кодом непосредственно на проде, где стабильность критически важна, обратите внимание на модуль Mypy. Инструмент 3: Быстрый поиск ошибок и чистый код с SonarLint Сейчас почти во всех IDE есть линтер — статический анализатор возможных ошибок. Другими словами, он предугадывает ещё до запуска кода, что может пойти не так, и выделяет предполагаемые ошибки. Динамический анализ не предугадывает, а действительно запускает/компилирует части кода, чтобы определить, работает ли он, но делает это автоматически в фоновом режиме. То есть он на самом деле знает, что пойдёт не так. SonarLint — это тот самый динамический анализатор кода, который поможет решить следующие проблемы. Лишний код Допустим, вы не удалили закомментированные части кода, оставили неиспользуемые функции и прочие рудименты. SonarLint предупредит об этом, и вы сможете своевременно очистить код от всего лишнего. Уязвимости Большая обновляемая база данных с перечнем угроз безопасности позволяет плагину вовремя предупреждать о любых известных уязвимостях, которые встречаются в вашем коде. Код, который не выполнится Такой код отличается от того, который не вызывается вообще. Например, плагин избавит вас от создания лишних проверок: Когнитивная сложность Подробнее об этом можно прочесть в статье. Если говорить кратко, разработчики плагина создали математическую формулу, которая может оценить, насколько читабелен ваш код. Это не только полезно, но и просто. Каждый раз, когда SonarLint предупреждает вас о чрезмерной сложности, это сопровождается объяснением правила, которое вы нарушили. Например, «слишком большая вложенность операторов if», более известная как спагетти-код. Удобно, правда? Плагин SonarLint позволяет использовать лучшие практики и писать понятный чистый код. Подытожим Все перечисленные инструменты для Python бесплатны или же поставляются в нескольких вариантах, включающих бесплатный. Источник: tproger.ru Комментарии: |
|