Ответ
Метрики в разработке ПО — это количественные показатели, используемые для измерения различных аспектов процесса разработки, качества продукта и эффективности команды. Они предоставляют данные для принятия обоснованных решений, а не основанных на интуиции.
Категории и примеры метрик:
| Категория | Пример метрики | Цель |
|---|---|---|
| Качество кода | Цикломатическая сложность, количество технического долга | Оценить поддерживаемость кода. |
| Качество продукта | Плотность дефектов (багов на 1K строк кода), количество открытых критических багов | Оценить стабильность и надежность. |
| Эффективность процесса | Lead Time, Cycle Time, Скорость выполнения тестов (Test Execution Speed) | Измерить и оптимизировать рабочий процесс. |
| Покрытие тестами | Code Coverage (покрытие строк, ветвей) | Оценить, насколько код проверен автоматическими тестами. |
Пример измерения покрытия кода с помощью pytest-cov:
# Запуск тестов с измерением покрытия
pytest --cov=my_project --cov-report=html tests/
Эта команда создаст HTML-отчет, наглядно показывающий, какие строки кода были выполнены тестами.
Важное предостережение: Метрики — это инструмент, а не цель. Слепая оптимизация под метрику (например, гонка за 100% покрытие кода) может привести к написанию бесполезных тестов и ухудшению качества. Контекст и интерпретация данных важнее самих чисел.