cloc - Contar líneas de código en muchos lenguajes de programación


Mientras trabaja en diferentes proyectos, a veces se le puede solicitar que proporcione un informe o estadísticas de su progreso, o simplemente que calcule el valor de su código.

Existe esta herramienta simple pero poderosa llamada "cloc - contar líneas de código" que le permite contar todo el número de su código y excluir comentarios y líneas en blanco al mismo tiempo.

Está disponible en todas las principales distribuciones de Linux y admite múltiples lenguajes de programación y extensiones de archivo y no tiene requisitos específicos para su uso.

En este tutorial, aprenderá a instalar y usar cloc en su sistema Linux.

Cómo instalar y usar Cloc en sistemas Linux

Instalar cloc es fácil y sencillo. A continuación, puede ver cómo instalar cloc en diferentes sistemas operativos con sus administradores de paquetes relacionados:

$ sudo apt install cloc                  # Debian, Ubuntu
$ sudo yum install cloc                  # Red Hat, Fedora
$ sudo dnf install cloc                  # Fedora 22 or later
$ sudo pacman -S cloc                    # Arch
$ sudo emerge -av dev-util/cloc          # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
$ sudo apk add cloc                      # Alpine Linux
$ sudo pkg install cloc                  # FreeBSD
$ sudo port install cloc                 # Mac OS X with MacPorts
$ brew install cloc                      # Mac OS X with Homebrew
$ npm install -g cloc                    # https://www.npmjs.com/package/cloc

Cloc se puede utilizar para contar líneas en un archivo en particular o en varios archivos dentro del directorio. Para usar cloc simplemente escriba cloc seguido del archivo o directorio que desea examinar.

Aquí hay un ejemplo de un archivo en bash. El archivo en cuestión contiene el siguiente código en bash:

$ cat bash_script.sh

Ahora ejecutemos cloc en él.

$ cloc bash_script.sh

Como puede ver, contó el número de archivos, líneas en blanco, comentarios y líneas de código.

Otra característica interesante de cloc es que incluso se puede utilizar en archivos comprimidos. Por ejemplo, descargué el último archivo de WordPress y ejecuté cloc en él.

$ cloc latest.tar.gz

Aquí está el resultado:

Puede ver que reconoce los diferentes tipos de código y separa las estadísticas por idioma.

En caso de que necesite obtener un informe para varios archivos en un directorio, puede usar la opción “--by-file” , que contará las líneas en cada archivo y proporcionará un informe para ellas. Esto puede llevar un tiempo para proyectos con muchos archivos y miles de líneas de código.

La sintaxis es la siguiente:

$ cloc --by-file <directory>

Si bien la ayuda de cloc es fácilmente legible y comprensible, incluiré algunas de las opciones adicionales que se pueden usar con cloc para algunos usuarios.

  • --diff - calcula las diferencias de código entre los archivos fuente de set1 y set2. La entrada puede ser una combinación de archivos y directorios.
  • --git : obliga a que las entradas se reconozcan como destinos git si no se identifican primero como nombres de archivos o directorios.
  • --ignore-whitespace : ignora el espacio en blanco horizontal al comparar archivos con --diff .
  • --max-file-sizeu003d - si desea omitir archivos mayores que la cantidad dada de MB.
  • --exclude-diru003d, - excluye directorios separados por comas.
  • --exclude-extu003d, : excluye las extensiones de archivo dadas.
  • --csv : exporta los resultados a formato de archivo CSV.
  • --csv-delimiteru003d - use el carácter como delimitador.
  • --outu003d : guarde los resultados en .
  • --quiet : suprime todos los mensajes de información y muestra solo el informe final.
  • --sqlu003d : escriba los resultados como declaraciones de creación e inserción que puedan ser leídas por un programa de base de datos como SQLite.

Cloc es una pequeña utilidad útil que definitivamente es bueno tener en tu arsenal. Si bien es posible que no se use a diario, puede ayudarlo cuando tenga que generar algún informe o si simplemente tiene curiosidad sobre cómo va su proyecto.