Расчет метрик кода по мере ввода в Visual Studio 2010 - PullRequest
16 голосов
/ 22 декабря 2011

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

Пока я знаю:

  • Код Метрики от Elisha : бесплатно и просто. Я не знаю, какую метрику он рассчитывает, но где-то читал, что это не цикломатическая сложность. Он не поддерживает другие метрики.

  • CodeMetricAdornment от Carpslayer : поддерживает только строки кода, комментарии и пробелы в файле кода.

  • CodeRush : Не бесплатно. Именно то, что я хочу (метрика выбирается), к сожалению, я уже использую ReSharper, и я думаю, что было бы излишним иметь / покупать оба.

Есть ли другие? Какие метрики они предоставляют?

Ответы [ 2 ]

4 голосов
/ 30 декабря 2011

Установка CodeRush (и отключение всех ненужных опций), безусловно, самая простая.Можно заставить CodeRush и Resharper работать вместе, см. некоторые ответы здесь .Есть бесплатная пробная версия , если вы просто хотите попробовать.

(Существует также бесплатная облегченная версия CodeRush под названием CodeRush Xpress , но я только что проверил, и она НЕ включает метрики кода.)

Если вы действительноВ отличие от установки всего CodeRush, DevExpress также предоставляет свою технологию плагинов Visual Studio, на которой он построен, DXCore , бесплатно.Таким образом, вы можете создать свой собственный плагин (без установки CodeRush). Здесь есть учебник , который продолжается здесь , и есть некоторые (работа в процессе) документы здесь и еще одно руководство здесь .

Эти руководства посвящены созданию собственной метрики, но вы можете просто заменить пользовательский код на:

public partial class PlugIn1 : StandardPlugIn
{
    private void codeMetricProvider1_GetMetricValue(object sender, GetMetricValueEventArgs e)
    {
        e.Value = e.LanguageElement.GetCyclomaticComplexity();
    }
}

Однако я не думаю, что отображение полученного значения (например,, рядом с методом) рассматривается в руководстве, так что вам, возможно, придется копать дальше (но DXCore может справиться и с этим).

0 голосов
/ 29 декабря 2011

Вот инструмент, который может удовлетворить ваши требования, т. Е. Реализовать метрики кода с использованием API при кодировании приложения. Это поможет вам генерировать или предлагать метрики кода программно и мгновенно. И он генерирует показатели гораздо больше, чем вы указали здесь.

Вот ссылка на инструмент. http://www.ndepend.com/ConstraintsExtractedFromCode.aspx

...