En tant que développeur ou simple curieux, vous souhaitez peut-être connaître le nombre de lignes de code d'un programme. Mieux encore, vous souhaitez connaître le nombre de lignes de code par langage ! C'est ce que le petit utilitaire nommé cloc vous propose.

cloc est un utilitaire gratuit, open source et multiplate-forme, écrit en Perl.

Il compte les lignes vides, les lignes de commentaire et les lignes physiques du code source et affiche le résultat sous forme de tableau, directement dans le terminal.

Les avantages de cloc sont nombreux :

  • facile à installer et multi plateforme
  • les résultats peuvent être au format texte, SQL, JSON, XML, YAML, CSV
  • peut compter les lignes dans vos commits git
  • compte les lignes de code dans les sous-répertoires et archives compressées (tar, Zip, .ear)
  • très rapide

Disponible pour toutes les distributions Linux, ou encore sur Mac OS X et Windows, l'installer est un jeu d'enfant :

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
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

choco install cloc                     # Windows with Chocolatey
scoop install cloc                     # Windows with Scoop

cloc est également disponible en paquet NPM.

Pour l'utiliser, rien de très compliqué. Lancez la commande cloc, suivie du fichier ou répertoire à analyser :

cloc symfony/

Avec une archive Zip :

cloc master.zip

cloc indique au début de son analyse le nombre de fichiers parcourus. S'en suit un tableau répertoriant les différents langages trouvés. Pour chacun d'eux, l'utilitaire affiche le nombre de fichiers associés, le nombre de lignes vides, le nombre de lignes de commentaires et enfin le nombre total de lignes de code.

La liste exhaustive des langages compris par cloc est accessible via la commande :

cloc --show-lang