Вычисление метрик кода как-вам-типа в Visual Studio 2010 - программирование
Подтвердить что ты не робот

Вычисление метрик кода как-вам-типа в Visual Studio 2010

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

До сих пор я знаю:

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

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

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

Ответ 2

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

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