Pergunta

Eu tenho usado SourceMonitor no meu projeto para um par de anos para manter registros de complexidade de código-fonte e SLOC básico (incluindo comentários) para C # e componentes C ++. Estes são utilizados para relatórios externos para o nosso cliente, por isso não estou em posição de discutir os seus méritos ou falta de.

Eu tenho trabalhado em uma ferramenta de análise de repositório que é capaz de me dar uma visão snap-shot do projeto a qualquer data / hora. A próxima etapa quero acrescentar é o cache das métricas para um arquivo e revisão especificada.

Eu sei SourceMonitor pode ser programado para permitir-me para fornecer os arquivos a serem testados e agarrar as métricas fora do CSV arquivo de resultado ou XML.

Existe uma biblioteca nativa em .NET que eu poderia usar para fazer a mesma coisa - por exemplo, evitar gerando um processo externo e analisar os resultados.

Eu só realmente precisa os seguintes resultados:

  • SLOC
  • Número de linhas de comentário
  • Complexidade do método mais complexo
  • Nome do método mais complexo

Eu preciso executar isso em C # Código e normal C ++ código.

Edit: desde que eu já ter a ferramenta que fornece a interface gráfica e relatórios que quero, as métricas precisam ser script ou gerado usando uma biblioteca / API sem etapas manuais. Idealmente, eu quero para obter métricas para um arquivo especificado / revisão (em vez de um projeto inteiro) que o meu utilitário irá arrastar a partir da versão-controle automaticamente.

NOTA: Eu criei uma recompensa para isso e estava de férias quando expirou ... a resposta NDepends NÃO me satisfazer como ele não olhar para o código-fonte, mas a montagem em si !!!

Foi útil?

Solução 5

Enquanto eu nunca fiz encontrar um produto .NET que pode igualmente parse C # e C ++, eu consegui encontrar um produto easy-to-use, CODECOUNT que suporta esses idiomas e muito mais.

Tem uma linha de comando simples, ao contrário SourceMonitor que estava sendo usado no meu projeto até CODECOUNT substituiu-o.

Outras dicas

Você pode encontrar um código-fonte aberto para C # SLOC e comentários aqui: http://code.google.com/p/projectpilot/source/browse/#svn/trunk/ProjectPilot.Framework/Metrics

A ferramenta baseada linha de comando confiável para calcular SLOC é Cloc . Ele suporta muitos idiomas, incluindo C # e C ++. formatos de saída suportados são XML, CSV e SQL.

Isso não vai dar-lhe funcionar complexidade e não é programável (que eu saiba), mas o Gadgets SlickEdit para VS tem uma grande ferramenta relatório SLOC e você pode usar a partir do gerenciador solução e lhe dará um relatório detalhado sobre o nível de arquivo, projeto ou solução.

Você pode obtê-lo aqui: http://www.slickedit.com/content/view / 441

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top