Эта группа метрик ориентирована на оценку операций в классах. Обычно методы имеют тенденцию быть небольшими как по размеру, так и по логической сложности. Тем не менее реальные характеристики операций могут быть полезны для глубокого понимания системы.
Метрика 5: Средний размер операции OSAVG (Average Operation Size)
В качестве индикатора размера может использоваться количество строк программы, однако LOC-оценки приводят к известным проблемам. Альтернативный вариант — «количество сообщений, посланных операцией».
Рост значения метрики означает, что обязанности размещены в классе не очень удачно. Рекомендуемое значение OSAVG
Метрика 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 |
Поскольку операция должна быть ограничена конкретной обязанностью, желательно уменьшать ОС.
Рекомендуемое значение ОС
Метрика 7: Среднее количество параметров на операцию NPAVG
(Average Number of Parameters per operation)
Чем больше параметров у операции, тем сложнее сотрудничество между объектами. Поэтому значение NPAVG
должно быть как можно меньшим.
Рекомендуемое значение NPAVG = 0,7.