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