Herramienta para calcular métricas desde el control de código fuente

¿Existe alguna herramienta simple que pueda calcular varias métricas a partir del control de versiones? La mayoría de las calculadoras de métricas funcionan solo con el código fuente. Estoy usando SVN. Algunas buenas salidas gráficas como gráficos o histogramas también serían buenas.

Métricas como:

  • Con qué frecuencia se cambia cada archivo
  • Cuántos archivos o LoC se cambiaron en las confirmaciones (promedio, mediana, histograma)
  • ¿Qué archivos se cambian a menudo juntos?
  • Cuántos LoC se cambian para cada archivo (promedio, mediana, histograma)
No es para SVN (como pediste), pero hay una solución basada en python llamada git-churn , que podría ser un comienzo para lo que quieres. Python es fácil de modificar, por lo que posiblemente podría realizar las operaciones SVN análogas y agregar las visualizaciones con alguna otra herramienta.

Respuestas (2)

No sé si encontrará una herramienta que maneje todos sus requisitos, pero la que puedo recomendar es StatSvn . Lo usamos como parte de nuestro proceso de compilación nocturno de Jenkins. Identifica LOC y abandono para nosotros.

En el libro Your code as a crime scene (Amazon Germany) , Adam Tornhill usa sistemas de control de versiones para encontrar muchos hechos interesantes y los presenta de una manera "nueva". Lo bueno es que los gráficos generados son interactivos. También puede encontrar videos de Adam Tornhill en Youtube, pero tenga en cuenta que parecen un poco escenificados (se enfocan demasiado en la "escena del crimen" para mi gusto).

Publicó su código bajo el título Code Maat en Github .

  • es gratis / gratis / código abierto
  • es compatible con SVN, GIT, P4, Mercurial y TFS

Las métricas que utiliza son

  • Frecuencia de cambio (antigüedad del código), consulte MetricsTreeMap
  • Code Churns (adiciones y eliminaciones)
  • Patrones de propiedad (qué desarrollador es importante para una clase y podría ser el único punto de falla, por ejemplo, si deja la empresa)

Code Maat solo probablemente no sea una respuesta perfecta, ya que no le importan mucho las métricas de LoC. Por lo tanto, combínelo con otras herramientas como StatSVN para aprovechar al máximo los datos.

Un inconveniente: no encontré binarios para descargar, por lo que parece que tienes que construirlo tú mismo.