Pirobits
  

Contar y graficar el número de líneas de código un proyecto con Git y Bash

alberto avatar Alberto Sola · 2/15/2023

Haciendo análisis de diferentes proyectos, me preguntaba cuántas líneas de código tenía cada uno. Al usar git, es fácil graficar cómo ha cambiado dicho valor en el tiempo. Te enseño cómo.

El primer paso es ver cómo contar el número de líneas con git (git ls-files <folders> | xargs wc -l) y añadirle un poco de magia (tail -1 | awk '{ print $1 }') para obtener el valor.

Por otro lado hay que obtener la fecha del commit (git show -s --format=%ci), y usar algunos comandos de git básicos: cambiar de rama (git checkout <branch>) o sincronizar los últimos cambios (git pull origin <branch>).

Con estos datos podemos generar un fichero csv que contenga dos columnas: la fecha del commit y el número de filas.

Ahora simplemente clónate el repositorio que desees, crea un script y copia el código que tienes al final de post (no olvides darle permisos de ejecución para tu usuario chmod u+x count-lines.sh 😉).

Configura las variables que encontrarás en la parte superior, ejecúta el script... y ¡listo¡ Has sido hackeado. Nah, verás un nuevo fichero llamado data.csv que contiene los datos.

Si los graficas con alguna aplicación, podrás ver la evolución de tu proyecto con el tiempo, por ejemplo:

Gráfica del número de líneas de un proyecto con el tiempo

¿Mola eh?

⚠️ ¡CUIDADO!: al hacer git checkout <branch> perderás los cambios que no hayas comiteado.

El código fuente lo puedes ver en GitHub, muy simple.

Salu2.

¿Te ha parecido interesante el artículo?¡ Únete a la comunidad para recibir contenido exclusivo !

Aprende sobre creación de producto y desarrollo de software

Contenido Exclusivo

Conocimiento que transforma

Escribo artículos profundos sobre desarrollo de software y creación de productos.

Experiencia real

Te cuento lo que aprendo en mi día a día trabajando como ingeniero de software y tech lead.

Directo al grano

Valoro tu tiempo y te envío, como mucho, un mail a la semana, con un resumen de las novedades más importantes.

¿Te apuntas?

Valoro tu privacidad, sólo envío contenido de calidad.

Ya somos más de 50 profesionales

Lo último que he escrito en el blog