← Blog

Analiza la evolución de tu código usando Julia

Christopher Villamarín

Cada vez que haces git commit, guardas algo más que código: guardas una decisión. A lo largo del tiempo, esas decisiones acumuladas cuentan la historia de un proyecto desde qué lenguajes programación usas hasta cuáles abandonaste; qué partes crecieron y cuáles murieron.

El script que presento aquí lee esa historia directamente desde tu historial de Git y la convierte en un gráfico de área apilada e interactivo. Para cada extensión de archivo que te interese rastrear, calcula las líneas netas commit a commit y las acumula en una línea de tiempo. El resultado es un HTML listo para el navegador.

Está escrito en Julia y no usa regex: la detección de fechas es puramente posicional y la extracción de extensiones trabaja con índices de texto. El resultado es un archivo evolucion_codigo.html generado con PlotlyBase, con hover unificado y tema oscuro.

Instalación

Para ejecutar este script necesitas instalar PlotlyBase en Julia.

Con esto deberías poder ejecutar el script y generar evolucion_codigo.html.

Ejemplo de resultado:

Resultado del script en el portafolio

Ten en cuenta que el análisis puede fallar o tardar mucho en repositorios muy grandes, con un historial de años o con muchísimos commits, ya que recorre todo el historial de Git.