QA & Архитектура
Стандарт NIST 500-235 / McCabe (1976)
Калькулятор цикломатической сложности V(G)
Оценка структурной сложности кода, минимального числа юнит-тестов (базисных путей) и индекса сопровождаемости.
Быстрый пример:
Общее число ориентированных дуг
Число вершин потока управления
1 для отдельной процедуры
Классическая теорема Томаса Маккейба:
V(G) = E - N + 2P. Топологическое условие: граф с P связными компонентами должен иметь E ≥ N - P.
Формула точек решений:
V(G) = π + 1, где π — сумма всех точек принятия решений (предикатов).
Цикломатическая сложность
Низкий риск
0
Код прост и прозрачен
Минимум Unit-тестов
0
Для 100% покрытия ветвей (Branch Coverage)
Уровень техдолга
Высокий
Легко поддерживать
1-10: Простой (A)
11-20: Умеренный (B)
21-50: Сложный (C)
50+: Опасный (D)
Обнаруженные предикаты в потоке управления:
Экспертное заключение и план рефакторинга
SAS инструменты Сайт с 1000 ми полезных инструментов и калькуляторов SAS