3 инструмента для Python, которые упростят работу с кодом

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Перевод статьи «3 Insane Secret Weapons for Python» Автор: Алина Уткина

С опытом количество используемых в работе инструментов сокращается, поскольку многие из них вы просто перерастаете. Но такие, как эти, остаются в использовании надолго.

Инструмент 1: ИИ автодополнение и быстрый доступ к документации с Kite

У современных IDE есть встроенное автозаполнение, которое выглядит примерно так:

встроенное автозаполнение IDE
встроенное автозаполнение 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.

Установите его с помощью команды pip install mypy. Вот лишь один из примеров использования модуля:

В примере с Mypy мы указываем, что функция возвращает итератор целых чисел. Такое небольшое изменение обеспечивает функции соответствующий вывод.

Другим разработчикам достаточно лишь взглянуть на это объявление, чтобы увидеть, какой результат ожидать на выходе, а сам код выдаст ошибку, если заданное условие не будет выполнено.

Если вы часто работаете с кодом непосредственно на проде, где стабильность критически важна, обратите внимание на модуль Mypy.

Инструмент 3: Быстрый поиск ошибок и чистый код с SonarLint

Сейчас почти во всех IDE есть линтер — статический анализатор возможных ошибок. Другими словами, он предугадывает ещё до запуска кода, что может пойти не так, и выделяет предполагаемые ошибки.

Python Linter по умолчанию в VS Code

Python Linter по умолчанию в VS Code

Динамический анализ не предугадывает, а действительно запускает/компилирует части кода, чтобы определить, работает ли он, но делает это автоматически в фоновом режиме. То есть он на самом деле знает, что пойдёт не так.

SonarLint — это тот самый динамический анализатор кода, который поможет решить следующие проблемы.

Лишний код

Допустим, вы не удалили закомментированные части кода, оставили неиспользуемые функции и прочие рудименты. SonarLint предупредит об этом, и вы сможете своевременно очистить код от всего лишнего.

Уязвимости

Большая обновляемая база данных с перечнем угроз безопасности позволяет плагину вовремя предупреждать о любых известных уязвимостях, которые встречаются в вашем коде.

Код, который не выполнится

Такой код отличается от того, который не вызывается вообще. Например, плагин избавит вас от создания лишних проверок:

Когнитивная сложность

Подробнее об этом можно прочесть в статье. Если говорить кратко, разработчики плагина создали математическую формулу, которая может оценить, насколько читабелен ваш код.

Это не только полезно, но и просто. Каждый раз, когда SonarLint предупреждает вас о чрезмерной сложности, это сопровождается объяснением правила, которое вы нарушили. Например, «слишком большая вложенность операторов if», более известная как спагетти-код. Удобно, правда?

Плагин SonarLint позволяет использовать лучшие практики и писать понятный чистый код.

Подытожим

Все перечисленные инструменты для Python бесплатны или же поставляются в нескольких вариантах, включающих бесплатный.


Источник: tproger.ru

Комментарии: