Как интерпретировать метрики кода (рассчитывается SourceMonitor) - PullRequest
15 голосов
/ 25 сентября 2008

Прочитав ответы на вопрос «Рассчитать метрики кода» Я установил инструмент SourceMonitor и рассчитал некоторые метрики.

Но я понятия не имею, как их интерпретировать.

Что такое «хорошее» значение для метрики

  • "Процентные ведомости"
  • "Методы на класс"
  • «Средние показатели на метод»
  • "Максимальный метод или функция Сложность "

Я не нашел подсказок в документации, кто-нибудь может мне помочь?

Ответы [ 2 ]

16 голосов
/ 25 сентября 2008

SourceMonitor - потрясающий инструмент.

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

«Среднее количество операторов на метод» полезно для общего представления о том, насколько велик каждый метод. Более полезной для меня является информация о методах со слишком большим количеством операторов (двойной щелчок по модулю для более детальной детализации).

Сложность функции полезна для определения того, насколько неприятен код. Истинно, я использую эту информацию больше всего на свете. Это информация о том, насколько сложна самая противная функция в модуле (по крайней мере, в соответствии с цикломатической сложностью). Если вы дважды щелкнете по модулю / файлу, вы сможете узнать, какой именно метод так плох.

8 голосов
/ 26 сентября 2008

Как правило, цикломатическая сложность 10 или меньше - это то, где вы хотите быть. Уровень СС от 11 до 20 в большинстве случаев примерно такой, какой вы хотите получить: как только вам станет больше 20, вы с большей вероятностью столкнетесь с проблемами при поиске и устранении дефектов, а когда вы достигнете 50, вы обычно будете на метод, который должен быть реорганизован сейчас.

Имейте в виду, что это рекомендации. Можно иметь метод с CC 25, который настолько прост, насколько вы можете его получить; вам просто нужно быть более осторожным с этими методами, когда вам нужно обновить их.

...