Qualimetrix¶
Быстрый инструмент статического анализа PHP, ориентированный на метрики качества кода, анализ сложности и архитектурные проверки.
Почему Qualimetrix?¶
- Быстрый -- в 9 раз быстрее phpmd в последовательном режиме, до 39 раз с параллельными воркерами
- Глубокие ООП-метрики -- цикломатическая и когнитивная сложность, LCOM4, TCC/LCC, RFC, Halstead, индекс сопровождаемости
- Современный PHP -- разработан для PHP 8.4, использует php-parser v5
- Готов к CI/CD -- форматы вывода: текст, JSON, Checkstyle, SARIF и GitLab Code Quality
- Поддержка baseline -- игнорирование известных проблем, фокус на качестве нового кода
- Интеграция с Git -- анализ только изменённых или подготовленных (staged) файлов
Быстрый пример¶
# Установка
composer require --dev qualimetrix/qualimetrix
# Анализ кода
vendor/bin/qmx check src/
# Установка git pre-commit хука
vendor/bin/qmx hook:install
# Вывод нарушений только из изменённых файлов
vendor/bin/qmx check src/ --report=git:main..HEAD
Доступные метрики¶
| Категория | Метрики |
|---|---|
| Сложность | Цикломатическая (CCN), когнитивная сложность, NPATH |
| Сопровождаемость | Метрики Halstead, индекс сопровождаемости |
| Связанность | CBO (RFC), нестабильность, абстрактность, расстояние от главной последовательности |
| Связность | TCC/LCC, LCOM4, WMC |
| Размер | LOC, количество методов, количество классов, количество свойств |
| Структура | DIT (глубина наследования), NOC (количество потомков) |
| Архитектура | Обнаружение циклических зависимостей |
| Запахи кода | Булевые аргументы, eval, goto, отладочный код, пустой catch и другие |
Начало работы¶
Перейдите к руководству Быстрый старт, чтобы интегрировать Qualimetrix в ваш проект за несколько минут.
Для AI-агентов¶
Если вы AI-агент, используйте llms.txt для краткого обзора или llms-full.txt для полной документации в одном файле.