Плагин для flake8 и Pylama, который проверяет группировку и порядок импортов Python по выбранному стилю.
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
Установите плагин из PyPI с помощью pip
pip install flake8-bugbear - 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 обновляется ежедневно.
Похожие проекты
Однофайловый анализатор Python, который проверяет соответствие кода стилю PEP 8 и использует только стандартную библиотеку.
Линтер Python, объединяющий PyFlakes, pycodestyle и McCabe в одной команде и поддерживающий сторонние плагины.
Строгий и принципиальный плагин для flake8: поддерживает единый стиль Python и выявляет сложные конструкции кода.
Инструмент для Python, который вычисляет цикломатическую сложность Маккейба функций и отмечает слишком сложный код как плагин flake8.
Плагин для flake8, который выявляет небезопасные и неудачные шаблоны кода на Python, например использование exec и небезопасную десериализацию.