Repolode
PyCQA

PyCQA/flake8-bugbear

Плагин для Flake8, который находит вероятные баги и сомнительные шаблоны проектирования, не проверяемые pyflakes и pycodestyle.

Звёзды
1,124
Форки
134
Открытые issues
40
Последний коммит
10 часов назад

Что это?

flake8-bugbear — плагин для Flake8, линтера Python, который добавляет проверки на вероятные баги и проблемы проектирования. Он предупреждает о таких шаблонах, как голые блоки except, изменяемые значения аргументов по умолчанию, вызовы функций в значениях аргументов по умолчанию, переменные цикла, переопределяющие перебираемый объект, и замыкания с поздним связыванием внутри циклов.

Проверки основаны на субъективных оценках и выходят за рамки стандартных правил pyflakes и pycodestyle, поэтому плагин держит их отдельно. Каждое предупреждение имеет код с префиксом B; набор проверок B9xx, основанных на субъективных оценках, по умолчанию отключён — его нужно явно включить через extend-select. Поведение можно настроить с помощью параметров, например extend-immutable-calls и classmethod-decorators.

Для установки достаточно выполнить pip install, после чего Flake8 автоматически обнаружит плагин.

Ключевые возможности

  • 01Находит голые блоки except и предлагает перехватывать более конкретные исключения.
  • 02Выявляет изменяемые значения аргументов по умолчанию и вызовы функций в значениях по умолчанию.
  • 03Предупреждает о неиспользуемых переменных цикла и переменных, переопределяющих перебираемый объект.
  • 04Находит распространённые ошибки, например assert False, бесполезные выражения и getattr с константным именем атрибута.
  • 05Предлагает проверки B9xx, основанные на субъективных оценках: по умолчанию они отключены и включаются через конфигурацию.

Сценарии использования

  • Добавление проверок на баги в Python-проект, где Flake8 уже запускается в CI.
  • Выявление изменяемых аргументов по умолчанию и ошибок с замыканиями с поздним связыванием при проверке кода.
  • Внедрение более строгих правил обработки исключений во всей кодовой базе команды.

Быстрый старт

  1. 1

    Установите плагин из PyPI с помощью pip

    pip install flake8-bugbear
  2. 2

    Убедитесь, что flake8 обнаружил плагин

    flake8 --version

Что важно знать

  • Он работает только как плагин для flake8, поэтому flake8 должен быть установлен.
  • Некоторые проверки основаны на субъективных критериях, за которыми не стоит ни PEP, ни стандарт.

В подборках

Темы

Частые вопросы

Что такое flake8-bugbear?
Плагин для Flake8, который находит вероятные баги и сомнительные шаблоны проектирования, не проверяемые pyflakes и pycodestyle. flake8-bugbear — плагин для Flake8, линтера Python, который добавляет проверки на вероятные баги и проблемы проектирования. Он предупреждает о таких шаблонах, как голые блоки except, изменяемые значения аргументов по умолчанию, вызовы функций в значениях аргументов по умолчанию, переменные цикла, переопределяющие перебираемый объект, и замыкания с поздним связыванием внутри циклов.
flake8-bugbear можно использовать бесплатно? Какая у него лицензия?
flake8-bugbear распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
flake8-bugbear всё ещё поддерживается?
Активно поддерживается. Последний коммит в flake8-bugbear — 6 нояб. 2026 г..
Для чего можно использовать flake8-bugbear?
Добавление проверок на баги в Python-проект, где Flake8 уже запускается в CI. Выявление изменяемых аргументов по умолчанию и ошибок с замыканиями с поздним связыванием при проверке кода. Внедрение более строгих правил обработки исключений во всей кодовой базе команды.
Как установить flake8-bugbear?
Установите плагин из PyPI с помощью pip: pip install flake8-bugbear Убедитесь, что flake8 обнаружил плагин: flake8 --version
Где скачать flake8-bugbear?
Исходный код и инструкции по установке — на GitHub: https://github.com/PyCQA/flake8-bugbear

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты