Repolode
PyCQA

PyCQA/mccabe

Инструмент для Python, который вычисляет цикломатическую сложность Маккейба функций и отмечает слишком сложный код как плагин flake8.

Звёзды
684
Форки
70
Открытые issues
12
Последний коммит
26 дней назад

Что это?

mccabe измеряет сложность кода на Python по Маккейбу (цикломатическую сложность) — числу независимых путей выполнения функции. Высокие значения указывают на функции, которые трудно читать и тестировать. Проект можно запускать как отдельный модуль для файла: он выводит функции, сложность которых превышает заданный порог.

Также mccabe работает как плагин для flake8 — анализатора кода Python. После установки плагин по умолчанию отключён; его можно включить с помощью параметра --max-complexity, который выдаёт предупреждение C901 для каждой функции, сложность которой превышает заданное значение.

Проект развивается в организации PyCQA и поддерживает актуальные версии Python 3. В релизе 0.7.0 прекращена поддержка версий Python ниже 3.6.

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

  • 01Вычисляет цикломатическую сложность Маккейба для функций и методов на Python.
  • 02Запускается как отдельная команда через python -m mccabe с порогом --min.
  • 03Интегрируется с flake8 через параметр --max-complexity и выдаёт предупреждения C901.
  • 04Поддерживает синтаксис async/await и актуальные версии Python 3.

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

  • Выявление слишком сложных функций при проверке кода или в непрерывной интеграции.
  • Установка ограничения на сложность во всём проекте Python с помощью конфигурации flake8.
  • Поиск самых сложных функций в модуле перед рефакторингом.

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

  1. 1

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

    pip install mccabe
  2. 2

    Запустите автономную проверку для файла Python, чтобы вывести список самых сложных функций

    python -m mccabe --min 5 mccabe.py
  3. 3

    Используйте его как плагин flake8, задав максимальную сложность

    flake8 --max-complexity 10 coolproject

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

  • Лицензия явно не указана в метаданных проекта, поэтому перед коммерческим использованием проверьте файл лицензии.
  • Проверки плагина по умолчанию отключены; для их включения укажите --max-complexity.

В подборках

Темы

#python#code-quality#cyclomatic-complexity#flake8#linter#static-analysis#complexity#complexity-analysis#flake8-extensions#flake8-plugin

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

Что такое mccabe?
Инструмент для Python, который вычисляет цикломатическую сложность Маккейба функций и отмечает слишком сложный код как плагин flake8. mccabe измеряет сложность кода на Python по Маккейбу (цикломатическую сложность) — числу независимых путей выполнения функции. Высокие значения указывают на функции, которые трудно читать и тестировать. Проект можно запускать как отдельный модуль для файла: он выводит функции, сложность которых превышает заданный порог.
mccabe можно использовать бесплатно? Какая у него лицензия?
mccabe распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
mccabe всё ещё поддерживается?
Активно поддерживается. Последний коммит в mccabe — 12 окт. 2026 г..
Для чего можно использовать mccabe?
Выявление слишком сложных функций при проверке кода или в непрерывной интеграции. Установка ограничения на сложность во всём проекте Python с помощью конфигурации flake8. Поиск самых сложных функций в модуле перед рефакторингом.
Как установить mccabe?
Установите mccabe из PyPI с помощью pip: pip install mccabe Запустите автономную проверку для файла Python, чтобы вывести список самых сложных функций: python -m mccabe --min 5 mccabe.py Используйте его как плагин flake8, задав максимальную сложность: flake8 --max-complexity 10 coolproject
Где скачать mccabe?
Исходный код и инструкции по установке — на GitHub: https://github.com/PyCQA/mccabe

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

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