Операционно-ориентированные метрики
Эта группа метрик ориентирована на оценку операций в классах. Обычно методы имеют тенденцию быть небольшими как по размеру, так и по логической сложности. Тем не менее реальные характеристики операций могут быть полезны для глубокого понимания системы.
Метрика 5: Средний размер операции OSAVG (Average Operation Size)
В качестве индикатора размера может использоваться количество строк программы, однако LOC-оценки приводят к известным проблемам. Альтернативный вариант — «количество сообщений, посланных операцией».
Рост значения метрики означает, что обязанности размещены в классе не очень удачно. Рекомендуемое значение OSAVG
9.
Метрика 6: Сложность операции ОС (Operation Complexity
Сложность операции может вычисляться с помощью стандартных метрик сложности, то есть с помощью LOC- или FP-оценок, метрики цикломатической сложности, метрики Холстеда.
М. Лоренц и Д. Кидд предлагают вычислять ОС суммированием оценок с весовыми коэффициентами, приведенными в табл. 14.5.
Таблица 14.5. Весовые коэффициенты для метрики ОС
Параметр
| Вес | ||
Вызовы функций API | 5,0 | ||
Присваивания | 0,5 | ||
Арифметические операции | 2,0 | ||
Сообщения с параметрами | 3,0 | ||
Вложенные выражения | 0,5 | ||
Параметры | 0,3 | ||
Простые вызовы | 7,0 | ||
Временные переменные | 0,5 | ||
Сообщения без параметров | 1,0 |
Поскольку операция должна быть ограничена конкретной обязанностью, желательно уменьшать ОС.
Рекомендуемое значение ОС
65 (для предложенного суммирования).
Метрика 7: Среднее количество параметров на операцию NPAVG
(Average Number of Parameters per operation)
Чем больше параметров у операции, тем сложнее сотрудничество между объектами. Поэтому значение NPAVG
должно быть как можно меньшим.
Рекомендуемое значение NPAVG = 0,7.