En algunos casos cuando desarrollamos proyectos, no interesa llevar un conteo de cuantas líneas hemos escrito para estimar el trabajo que nos ha llevado hacer el proyecto. Pero medir este número muchas veces es complejo, puesto que podemos tener muchos ficheros fuente y algunos IDEs no traen una herramienta que nos ayude a contarlas. Para ello hoy les quiero hablar sobre CLOC.
Cloc tu contador de líneas de código
Aunque como comentaba anteriormente, las líneas de código no es una buena medida del esfuerzo de un proyecto, ya que podemos tener algoritmos muy complejos que ocupen pocas líneas, en algunos casos es interesantes medirlas. Pero también encontramos distintas maneras de medir las líneas de código, medir solo el código, medir el código y los comentarios o medir el código, los comentarios y las líneas blancas que haya en los archivos. Además en ciertos lenguajes como C o C++ es útil diferenciar si las líneas son en ficheros de cabecera, o en ficheros fuente.
Todas estas cosas nos las va a permitir CLOC, para ello lo primero que tenemos que hacer es descargarlo para nuestra plataforma.
Este programa no tiene interfaz de usuario, así que debemos ejecutarlo desde la terminal y podemos indicarle como parámetro la carpeta donde tenemos el proyecto que queremos medir:
Como se puede ver en la imagen nos informa del número de ficheros, líneas en blanco, líneas con comentarios y líneas de código.
Otra de las cosas que hacen a cloc una de las mejores herramientas para medir las líneas de código, es que soporta gran cantidad de lenguajes de programación por defecto y en caso de no soportar un lenguaje que necesitemos, podemos definir una plantilla para este lenguaje.
Como podéis ver este proyecto tiene muchas líneas de código, pero yo no recuerdo haber escrito tantas, así que vamos a usar el argumento –by-file para que nos detalle la cuenta por ficheros:
Pero resulta que esas líneas son debidas a ficheros que se crean al generar el proyecto, por parte del compilador y cloc los detecta al escanear de manera recursiva todas las carpetas.
Así que lo que he hecho es filtrar ese tipo de archivos, para que no los cuente y así obtengo un resultado más fiel al número de líneas escritas por mí en este proyecto.
Tokei un Cloc optimizado
Uno de los problemas que tiene cloc es que es una herramienta un poco lenta si el proyecto a escanear tiene muchos ficheros o carpetas. Sin embargo, ese no es problema para Tokei un software similar a Cloc pero escrito en Rust en lugar de en Perl, el cual es muchísimo más rápido realizando el conteo de las líneas de código de tus proyectos. Por eso, si el proyecto es muy grande te recomiendo usar esta alternativa.
Espero que esta entrada os haya resultado útil.
12 comentarios en “CLOC la herramienta para contar líneas de código”
Luis
Como le hago con laravel, me cuenta todo en general y no filtra nada
marco a loyo
porque no me toma este tipo de archivo .pc
REDCLIQCIBCV03_01.pc
Jorge
Qué tipo de código guarda en un archivo .pc? es la primera vez que veo esa extensión.
Kata
Es un archivo ProC,es un lenguaje ensamblado de SQL codigo C o C++, utilizado para soluciones Oracle.
marco a loyo
hola voy a comenzar una certificación de proveedores de CMMI me piden CLOC donde puedo bajar un software para comenzar a trabajar
Jorge
En el siguiente enlace puede descargar el programa
https://github.com/AlDanial/cloc/releases
Un saludo.
Marcos Gonzalez
Está muy buena la herramienta! Eso si, no lee los directorios con espacios y tuve que ponerles guión bajo a los nombres de las carpetas para que lo procese.
Felicito a la persona que desarrolló este programa
Yo Albert
Gracias!
Side Master
Excelente caballero. ¡Saludos!.
XYU[r0nin]
Hola,
Ahora CLOC esta alojado en github: https://github.com/AlDanial/cloc.
La versión actual es la 1.70
Jorge
Muchas gracias por indicarnos esto, vamos a proceder a actualizar el artículo.
Matias Zamorano
Genial! Gracias por compartir.