Pregunta

He estado usando SourceMonitor en mi proyecto durante un par de años para mantener registros de la complejidad del código fuente y SLOC básico (incluidos los comentarios) para los componentes C # y C ++. Estos se utilizan para informes externos a nuestros clientes, por lo que no estoy en condiciones de discutir sus méritos o falta de ellos.

He estado trabajando en una herramienta de análisis de repositorio que puede darme una vista instantánea del proyecto en cualquier fecha / hora. La siguiente etapa que quiero agregar es el almacenamiento en caché de las métricas para un archivo y revisión específicos.

Sé que SourceMonitor puede ser programado para permitirme suministrar los archivos que se probarán y tomar las métricas del archivo de resultados CSV o XML.

¿Hay una biblioteca nativa en .NET que pueda usar para hacer lo mismo? evite generar un proceso externo y analizar los resultados.

Solo necesito realmente las siguientes métricas:

  • SLOC
  • Número de líneas de comentarios
  • Complejidad del método más complejo
  • Nombre del método más complejo

Necesito ejecutar esto en el código C # y el código C ++ normal.

Editar: dado que ya tengo una herramienta que proporciona la GUI y los informes que quiero, las métricas necesitan ser escritas o generadas usando una biblioteca / API sin pasos manuales. Idealmente, quiero obtener métricas para un archivo / revisión específico (en lugar de un proyecto completo) que mi utilidad arrastrará automáticamente desde el control de versiones.

NOTA: ¡Creé una recompensa por esto y estaba de vacaciones cuando expiró ... la respuesta de NDepends NO me satisface ya que no mira el código fuente sino el ensamblaje en sí mismo!

¿Fue útil?

Solución 5

Aunque nunca encontré un producto .NET que pueda analizar igualmente C # y C ++, logré encontrar un producto fácil de usar, CODECOUNT que admite esos idiomas y muchos más.

Tiene una línea de comando simple, a diferencia de SourceMonitor que se estaba usando en mi proyecto hasta que CODECOUNT lo reemplazó.

Otros consejos

Puede encontrar un código fuente abierto para C # SLOC y comentarios aquí: http://code.google.com/p/projectpilot/source/browse/#svn/trunk/ProjectPilot.Framework/Metrics

Una herramienta confiable basada en la línea de comandos para calcular SLOC es Cloc . Es compatible con muchos lenguajes, incluidos C # y C ++. Los formatos de salida admitidos son xml, csv y sql.

Esto no le dará complejidad de la función y no es programable (que yo sepa), pero SlickEdit Gadgets for VS tiene una excelente herramienta de informes SLOC y puede usar desde el explorador de soluciones y le dará un informe detallado en el archivo, proyecto o nivel de solución.

Puede obtenerlo aquí: http://www.slickedit.com/content/view / 441

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top