Compter les lignes de code
muqaddar
Administrateur
Hello,
Bon je me demandais, à une époque, j'avais entendu parler d'un utilitaire ou d'une commande shell pour compter le nombre de lignes de code d'un projet.
ça vous dit quelque chose ? Ou avez-vous la juste commande ?
Bon je me demandais, à une époque, j'avais entendu parler d'un utilitaire ou d'une commande shell pour compter le nombre de lignes de code d'un projet.
ça vous dit quelque chose ? Ou avez-vous la juste commande ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
ça me donne 6386 lignes pour Gourmandise. Intéressant.
Y'a pas moyen de balance direct le dossier qui contient toutes mes classes? Parce que si je dois drag&drop à chaque fois...
Cela veut dire Word Count ... tu pensais à quoi ?
Ceci prend les fichiers dans le projet et dans les dossiers au premier niveau
mais il y a sans doute une regex plus sioux
Et le flag "-l" c'est pour dire "ah bah en fait compte pas les mots, mais les lignes"
Et sinon bah comme toute commande Unix qui se respecte, elle peut être couplée à d'autres à l'aide des "pipes" ou d'autres trucs.
1) Par exemple on peut la coupler à la commande "find" pour parcourir une arborescence à la recherche de tous les .h et .m : si on est dans le répertoire du projet à analyser (sinon, soit s'y mettre, soit remplacer le premier argument "." de la commande "find" par le chemin d'accès à analyser) : va vous afficher le nombre de ligne de chaque fichier .h et .m de votre projet.
2) On peut aussi concaténer tout le code de tous les .h et .m le temps de compter, une fois la concaténation réalisée, le nombre total de ligne, et donc avoir un total général (quel que soit le fichier d'origine) : Là on affiche le contenu pour chaque fichier .h et fichier .m, et on ne compte qu'à la fin, pour avoir le total.
3) On peut même imaginer d'utiliser sed pour supprimer les lignes encapsulées entre /* et */, supprimer les lignes vides et supprimer les lignes qui ne contiennent qu'un commentaire commençant par "//"...
Bon là ça commence à se compliquer un peu vu les cas particuliers (commentaires /*...*/ sur une ou plusieurs lignes, lignes pas tout à fait vides mais contenant juste des tabulaions et/ou espaces, ...) mais bon si y'a un besoin je peux me pencher dessus (à vrai dire j'ai déjà un peu fait ça pour mon script sed qui parser les headers Apple pour générer les TextMacros pour les protocoles, vous vous souvenez ?)
comme aux guignols de l'info !
Une partie de l'outil sert justement à compter le nombre de lignes d'une façon standardisée (c'est à dire, en virant les commentaires, en séparant le code imbriqué, etc.).