Я использую SourceMonitor в своем проекте в течение нескольких лет, чтобы вести учет сложности исходного кода и базового SLOC (включая комментарии) для компонентов C # и C ++. Они используются для внешней отчетности для наших клиентов, поэтому я не могу оспаривать их достоинства или отсутствие.
Я работал над инструментом анализа репозитория, который может дать мне мгновенный снимок проекта в любой день / время. Следующий этап, который я хочу добавить, - это кэширование метрик для указанного файла и ревизии.
Я знаю, что в SourceMonitor можно создавать сценарии, позволяющие мне предоставлять файлы для тестирования и извлекать метрики из файла результатов CSV или XML.
Есть ли нативная библиотека в .NET, которую я мог бы использовать для того же - например, Избегайте порождения внешнего процесса и анализа результатов.
Мне действительно нужны только следующие метрики:
- SLOC
- Количество строк комментариев
- Сложность самого сложного метода
- Название наиболее сложного метода
Мне нужно запустить это для C # кода и обычного C ++ кода.
Редактировать: так как у меня уже есть инструмент, который предоставляет графический интерфейс и отчеты, которые я хочу, метрики должны быть написаны в сценарии или созданы с использованием библиотеки / API без ручных действий. В идеале я хочу получить метрики для указанного файла / ревизии (а не для всего проекта), которые моя утилита будет автоматически перетаскивать из системы контроля версий.
ПРИМЕЧАНИЕ: я создал за это награду и находился в отпуске, когда срок его действия истек ... Ответ NDepends НЕ удовлетворяет меня, так как он не смотрит на исходный код, а на саму сборку !!!