Skip to main content

Линтеры Python

Стилистика кода

Python разрабатывался с идеей что код читают чаще чем его пишут. Поэтому читаемость – один из самых главных принципов написания кода. Для того чтобы наш ленивый мозг мог сконцентрироваться на более важных вещах, используют стандарты стиля кода. Когда разработчики пользуются стандартами, то другим разработчикам проще читать код. Для Python есть практически безальтернативный стандарт стиля – PEP8

Extra: Зачем нужен Code Style?

Линтеры - кто такие и для чего нужны?

Linter - статический анализатор кода, служит для проверки качества кода без его запуска. Обычно линтеры проверяют следующие вещи: Стилистику кода (имена переменных, пробелы, пустые строки) Best practices (использование сырых except, code complexity) Type Checking (расхождение типов данных в аннотациях и в коде) (для языков со статической типизаций таких проблем обычно нет) Линтеры как правило выполняют функцию информирования программиста о проблемах в качестве кода, зачастую линтеры могут также автоматически исправлять распространенные стилистические ошибки.

Какие линтеры существуют для Python

VSCode: крайне слабый встроенный линтер!!!

PyCharm: комбинация из разных линтеров

Standalone linters:

  • pep8 - базовая проверка стиля
  • pycodestyle
  • flake8 - очень распространён
  • pylint - популярен для VSCode
  • black - существенно строже
  • isort - сотировка импортов
  • mypy - силён в типизации

Примеры

pep8 --exclude='venv' --statistics .
flake8 .
isort .

flake8/pylance/pylint в VSCode (View -> Problems)