Калькулятор цикломатической сложности
Рассчитайте цикломатическую сложность МакКейба по рёбрам, узлам и связным компонентам графа потока управления. Оцените удобство сопровождения и тестируемость кода.
Как использовать калькулятор цикломатической сложности
- Введите число рёбер в графе потока управления.
- Введите число узлов.
- Введите число связных компонентов (обычно 1).
- Нажмите «Рассчитать», чтобы получить сложность и уровень риска.
Примеры использования
- •Измерение сложности кода для решений о рефакторинге.
- •Установка порогов сложности в гейтах код-ревью.
- •Определение функций, требующих модульного тестирования.
- •Отслеживание трендов сложности в релизах.
Формула
M = E − N + 2P. E = рёбра, N = узлы, P = связные компоненты. Риск: 1–10 низкий, 11–20 средний, 21–50 высокий, >50 очень высокий.
Часто задаваемые вопросы
Что такое цикломатическая сложность?
Цикломатическая сложность измеряет число линейно независимых путей в коде. Выше — сложнее тестировать и поддерживать.
Какая сложность допустима?
1–10 — просто и легко тестировать. 11–20 — умеренно. Выше 20 следует рефакторить. Выше 50 считается нетестируемым.
Как сложность связана с тестированием?
Цикломатическая сложность равна минимальному числу тест-кейсов для полного покрытия ветвей модуля.