Вопрос

Я использую SourceMonitor в своем проекте в течение нескольких лет, чтобы вести учет сложности исходного кода и базового SLOC (включая комментарии) для компонентов C # и C ++.Они используются для внешней отчетности перед нашим заказчиком, поэтому я не в состоянии оспаривать их достоинства или недостатки.

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

Я знаю, что SourceMonitor может быть написан по сценарию, позволяющему мне предоставлять файлы для тестирования и извлекать показатели из результирующего файла CSV или XML.

Есть ли собственная библиотека в .NET, которую я мог бы использовать для выполнения того же самого - напримеризбегайте создания внешнего процесса и синтаксического анализа результатов.

Мне действительно нужны только следующие показатели:

  • СЛОК
  • Количество строк комментария
  • Сложность самого сложного метода
  • Название наиболее сложного метода

Мне нужно запустить это дальше C# код и обычный C++ код.

Редактировать:поскольку у меня уже есть инструмент, который предоставляет графический интерфейс и отчеты, которые я хочу, показатели должны быть написаны сценарием или сгенерированы с использованием библиотеки / API без ручных действий.В идеале я хочу получить показатели для указанного файла / редакции (а не для всего проекта), которые моя утилита автоматически перетащит из системы управления версиями.

ПРИМЕЧАНИЕ:Я назначил вознаграждение за это и был в отпуске, когда срок его действия истек...ответ NDepends МЕНЯ НЕ удовлетворяет, поскольку он рассматривает не исходный код, а саму сборку!!!

Это было полезно?

Решение 5

Хотя я так и не нашел продукт .NET, который мог бы одинаково анализировать C # и C ++, мне удалось найти простой в использовании продукт, КОДОВОЕ КОЛИЧЕСТВО который поддерживает эти языки и многие другие.

У него простая командная строка, в отличие от SourceMonitor, который использовался в моем проекте до тех пор, пока CODECOUNT не заменил его.

Другие советы

Вы можете найти открытый исходный код для C # SLOC и комментарии здесь: http://code.google.com/p/projectpilot/source/browse/#svn/trunk/ProjectPilot .Структура/Показатели

Надежным инструментом для вычисления SLOC на основе командной строки является Клок.Он поддерживает множество языков, включая C # и C ++.Поддерживаемые форматы вывода - xml, CSV и sql.

Это не усложнит вам работу и не поддается написанию сценариев (насколько я знаю), но в SlickEdit Gadgets для VS есть отличный инструмент создания отчетов SLOC, который вы можете использовать в обозревателе решений и который предоставит вам подробный отчет на уровне файла, проекта или решения.

Вы можете получить его здесь: http://www.slickedit.com/content/view/441

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top