Количество линейно независимых путей в теле функции
Эта метрика вычисляет количество точек принятия решений в функции и добавляет единицу к сумме. Точка принятия решения является оператором, который заставляет вашу программу разделиться на два пути.
Рекомендуемый верхний предел для этой метрики равен 10. Если цикломатическая сложность высока, код оба трудно считать и может вызвать больше оранжевых проверок. Поэтому попробуйте ограничить значение этой метрики.
Для обеспечения пределов на метрики смотрите Compute Code Complexity Metrics.
Для определения точек принятия решений при вычислении метрики используются следующие правила:
Система координат if
оператор является одной точкой принятия решения.
Операторы for
и while
считайте как одну точку принятия решения, даже когда никакое условие не оценивается, например, в бесконечных циклах.
Логические комбинации (&&, ||)
не учитывайте как точки принятия решений.
case
операторы не считаются точками принятия решений, если за ними не следуют break
оператор. Для образца этот код имеет цикломатическую сложность двух:
switch(num) { case 0: case 1: case 2: break; case 3: case 4: }
Расчет выполняется после предварительной обработки:
Макросы развернуты.
Применяется условная компиляция. Блоки, скрытые директивами предварительной обработки, игнорируются.
Группа: Функция |
Акроним: VG |
ЕГО Метрика: Да |