Compter les lignes de code avec cloc
Il peut être difficile de compter le nombre de lignes de code qui composent un certain programme, car le simple fait de visualiser le code source inclura des commentaires, des espaces, etc. Sur les systèmes Linux, la commande cloc peut être utilisée pour compter les lignes de code dans un ou plusieurs fichiers, et même trier les résultats par langage de programmation.
Le programme cloc est particulièrement utile si vous avez besoin de mesurer et de soumettre votre progression d’un projet de codage, d’afficher des statistiques de codage ou de calculer la valeur totale de votre code.
Dans ce tutoriel, vous allez voir comment installer le progiciel cloc sur toutes les principales distributions Linux, puis utiliser la commande cloc pour compter les lignes de code de divers fichiers programme.
Dans ce tutoriel, vous allez apprendre :
- Comment installer cloc sur les principales distributions Linux
- Comment utiliser la commande
clocpour compter les lignes de code sous Linux
Installer cloc sur les principales distributions Linux
cloc peut être installé à partir du gestionnaire de paquets de votre système. Utilisez la commande appropriée ci-dessous pour l’installer.
Pour installer cloc sur Ubuntu, Debian et Linux Mint :
sudo apt install cloc
Pour installer cloc sur Fedora, CentOS, AlmaLinux et Red Hat :
sudo dnf install cloc
Pour installer cloc sur Arch Linux et Manjaro :
sudo pacman -S cloc
Une fois installé, vous pourrez exécuter les commandes des exemples ci-dessous.
Comment utiliser cloc sous Linux
Vous pouvez utiliser la commande cloc pour compter les lignes de code d’un fichier individuel, de plusieurs fichiers, d’un répertoire ou même d’une archive compressée telle qu’un .tar.gz et .zip fichiers.
Compter les lignes d’un fichier Bash :
cloc countdown.sh 1 text file. 1 unique file. 0 files ignored. github.com/AlDanial/cloc v 1.82 T=0.03 s (34.3 files/s, 2781.5 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Bourne Shell 1 12 0 69 -------------------------------------------------------------------------------Compter les lignes de plusieurs fichiers PHP à la fois :
cloc *.php 209 text files. 209 unique files. 0 files ignored. github.com/AlDanial/cloc v 1.82 T=2.93 s (71.4 files/s, 67066.1 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- PHP 209 22423 80758 93103 ------------------------------------------------------------------------------- SUM: 209 22423 80758 93103 -------------------------------------------------------------------------------Dans l’exemple suivant, nous allons imprimer les résultats pour chaque fichier séparé sur chaque ligne. Cela peut être fait en utilisant l’option
--by-file:cloc --by-file my_project/ 2 text files. 2 unique files. 0 files ignored. http://cloc.sourceforge.net v 1.82 T=0.01 s (149.5 files/s, 448.6 lines/s) -------------------------------------------------------------------------------- File blank comment code -------------------------------------------------------------------------------- my_project/perl.pl 1 0 2 my_project/bash.sh 1 0 2 -------------------------------------------------------------------------------- SUM: 2 0 4 --------------------------------------------------------------------------------Nous pouvons même faire des choses sympas comme compter le nombre de lignes de code dans le noyau en cours d’exécution de notre distribution Linux.
cloc /usr/src/linux-headers-`uname -r` 347 text files. 346 unique files. 8625 files ignored. github.com/AlDanial/cloc v 1.82 T=4.70 s (54.3 files/s, 20714.3 lines/s) -------------------------------------------------------------------------------- Language files blank comment code -------------------------------------------------------------------------------- C 43 4888 3948 30263 Perl 29 3323 2819 16355 C/C++ Header 55 425 463 13876 DOS Batch 33 63 0 3050 Bourne Shell 50 557 913 2603 make 17 641 569 2160 C++ 1 268 66 1581 Python 7 285 411 1121 yacc 2 170 52 1015 Bourne Again Shell 7 182 198 892 lex 2 131 66 767 Glade 1 58 0 603 NAnt script 1 107 0 442 Assembly 4 282 1107 360 D 2 0 0 99 awk 1 9 5 67 -------------------------------------------------------------------------------- SUM: 255 11389 10617 75254 --------------------------------------------------------------------------------Et voici un autre exemple où nous comptons les lignes de code dans l’ensemble d’une installation WordPress, qui est toutes compressées dans un fichier
.tar.gz. Selon cloc, il y a pas moins de 778 239 lignes de code, et il n’a toujours eu aucun problème à les compter toutes.cloc latest.tar.gz 2421 text files. 2353 unique files. 86 files ignored. github.com/AlDanial/cloc v 1.82 T=29.91 s (78.1 files/s, 40656.4 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- JavaScript 543 74183 101931 320805 PHP 992 54140 158885 261259 CSS 554 25906 19563 155284 JSON 73 0 0 28413 Sass 155 2790 462 12011 SVG 15 0 0 344 HTML 1 13 0 84 XML 1 6 0 37 Markdown 1 1 0 2 ------------------------------------------------------------------------------- SUM: 2335 157039 280841 778239 -------------------------------------------------------------------------------
CLOC propose quelques options supplémentaires, qui peuvent s’avérer utiles dans des scénarios de niche. Pour les voir tous, consultez la page de manuel.
man cloc
Réflexions finales
Dans ce tutoriel, nous avons vu comment installer cloc sur les principales distributions Linux, et utiliser la commande pour compter le nombre de lignes de code dans un ou plusieurs fichiers sous Linux. CLOC est un programme simple et rapide, capable de traiter des millions de lignes de code en quelques secondes seulement. Il fonctionne sur des tonnes de langages de programmation différents, ce qui le rend utile pour presque tous les types de développeurs.
