1. Количество комментариев (com)

Метрика для подсчета комментированных строчек кода(CommentLines). Это грубая мера сравнимая сLOCпоказывающая объем комментариев внутри региона кода. Подобную меру достаточно сложно использовать отдельно отLOC, но при использовании отношений кLOCилиMVGподобный коэффициент покажет пропорциональное отношение комментариев к исполняемому коду или его сложности. L_C = LOC/COM; M_C = MVG/COM.

    1. Число классов – получателей сообщений данного класса(Fan-out, Fan-in)

Число классов – получателей сообщений данного класса (Fan-out, the number of other collaborating classes irrespective of the number of references) - число дуг в простейшей модели передачи сообщений, выходящих из вершины, соответствующей классу, т.е. число классов, к методам которых есть обращения в методах данного класса.

Для заданного модуля А, метрика Fan-outпокажет количество классов которые используют модуль А, тогда как метрикаFan-inпокажет количество модулей которое использует модуль А. Определение Fan-in - число вершин, из которых входят дуги в данную вершину в простейшей модели взаимодействия компонентов

    1. Количество "взвешенных" методов на класс (wmc)

Количество взвешенных методов на класс (Weighted Methods Per Class - WMC) позволяет измерять сложность классов с учетом сложности его методов. Весом метода в этом случае называется количественная характеристика (метрика) сложности метода.

Рассмотрим простейший случай, когда сложность метода определяется количеством строк текста этого метода в программе. Пусть L[i] - это количество строк текста у метода с номером i, а всего в классе n методов. Тогда для этой метрики измерения методов сложность класса Point вычисляется следующим образом:

WMC(Point) = L[0] + ... + L[n]

Как можно заметить, метрика WMC для измерения сложности класса зависит от способа измерения сложности методов этого класса.

Часто используется разновидность метрики WMC, когда все методы имеют одинаковый вес. Она называется "Количество методов на класс" (Number of Methods - NM). Используется метрика NM для измерения сложности классов на ранних этапах разработки системы, когда еще нет детальной информации о методах. Возможно, что класс со слишком большим количеством методов на этапе проектирования системы следует разделить на несколько классов.

Вероятное влияние метрики на характеристики системы:

  • С помощью метрики WMC можно оценить сложность класса. Это позволит оценить, сколько времени и усилий необходимо будет затратить его на разработку и сопровождение учитывая сложность его методов.

  • Большое количество методов базового класса потенциально распространяет свое влияние и на потомков этого класса. Поскольку все потомки наследуют все методы этого класса, то усложнение  методов базового класса может отразится на потомках класса.

  • Классы с большим числом методов с большой долей вероятности специфичны для приложения. Поэтому скорее всего они   будут менее пригодны для повторного использования в других приложениях.

Метрика связана с сопровождаемостью программ, поскольку, чем больше число методов и выше их сложность, тем выше затраты на проектирование, кодирование, испытания и сопровождение класса