Búsqueda de sitios web

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


Mientras trabaja en diferentes proyectos, a veces es posible que deba proporcionar un informe o estadísticas de su progreso, o simplemente calcular 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 archivos y no tiene ningún requisito específico para su uso.

En este tutorial aprenderá cómo instalar y utilizar cloc en su sistema Linux.

Cómo instalar y utilizar Cloc en sistemas Linux

Instalar cloc es fácil y sencillo. A continuación puedes 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 utilizar 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 el reloj.

cloc bash_script.sh

Como puede ver, contó la cantidad 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:

Puedes 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 les proporcionará un informe. Esto puede tardar un poco en 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 pueden usarse con cloc que algunos usuarios pueden encontrar útiles.

  • --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 objetivos de 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-size=: si desea omitir archivos que superen la cantidad de MB indicada.
  • --exclude-dir=, – excluye directorios determinados separados por comas.
  • --exclude-ext=, – excluye las extensiones de archivo dadas.
  • --csv: exporta los resultados al formato de archivo CSV.
  • --csv-delimiter=: utilice el carácter como delimitador.
  • --out= – guarda los resultados en <file>.
  • --quiet: suprime todos los mensajes de información y muestra solo el informe final.
  • --sql=: 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.
Conclusión

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