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