Comment savoir combien de lignes de code, il y a dans un projet Xcode?
-
18-09-2019 - |
Question
Y at-il un moyen de déterminer le nombre de lignes de code d'un projet Xcode contient? Je promets de ne pas utiliser ces informations à des fins de mesure de gestion ou analyse comparative des employés. ;)
La solution
Consultez CLOC .
cloc compte des lignes vides, des lignes de commentaires et des lignes physiques du code source dans de nombreux langages de programmation.
( héritage construit sont archivés sur SourceForge.)
Autres conseils
Je vois flottant et l'utiliser moi-même:
find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.swift" ")" -print0 | xargs -0 wc -l
J'utilise CLOC comme mentionné par Nathan Kinsinger
et il est assez facile à utiliser. Il est un script PERL que vous pouvez ajouter et exécuter à partir de votre répertoire de projet.
PERL est déjà partie de Mac OS et vous pouvez appeler le script de cette façon de connaître votre nombre de lignes que vous avez écrit:
perl cloc-1.56.pl ./YourDirectoryWhereYourSourcesAre
Ceci est un exemple de sortie i obtenu de cette commande:
176 text files.
176 unique files.
4 files ignored.
http://cloc.sourceforge.net v 1.56 T=2.0 s (86.0 files/s, 10838.0 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Objective C 80 3848 1876 11844
C/C++ Header 92 980 1716 1412
-------------------------------------------------------------------------------
SUM: 172 4828 3592 13256
-------------------------------------------------------------------------------
Dans Terminal, dans le répertoire de projet et exécutez:
find . -type f -print0 | xargs -0 cat | wc -l
Si vous ne souhaitez que certains types de fichiers, essayez quelque chose comme
find . -type f -name \*.[ch]* -print0 | xargs -0 cat | wc -l
Ouvrez Terminal.app, allez dans le répertoire racine de votre projet, et exécutez la commande suivante:
Pour Swift seulement:
find . \( -iname \*.swift \) -exec wc -l '{}' \+
Pour Obj-C seulement:
find . \( -iname \*.m -o -iname \*.mm -o -iname \*.h \) -exec wc -l '{}' \+
Pour Obj-C + Swift:
find . \( -iname \*.m -o -iname \*.mm -o -iname \*.h -o -iname \*.swift \) -exec wc -l '{}' \+
Pour Obj-C + Swift + C + C ++:
find . \( -iname \*.m -o -iname \*.mm -o -iname \*.c -o -iname \*.cc -o -iname \*.h -o -iname \*.hh -o -iname \*.hpp -o -iname \*.cpp -o -iname \*.swift \) -exec wc -l '{}' \+
Quelques conseils: Terminal
ls: contenu du répertoire liste
cd: répertoire changement
Appuyez sur Tab pour
saisie semi-automatique Rappelez-vous de mettre « \ » barre oblique inverse avant des espaces
Je suggère d'aller un dossier vers le bas du projet principal afin que vous vous débarrasser de comptage de code à partir des cadres
Consultez Statisticien Xcode, il fait exactement ce que vous voulez. Il fournit également d'autres statistiques intéressantes donc vaut une course pour le plaisir maintenant et puis.
Notez qu'il ne sera pas regarder à l'intérieur des dossiers réels, mais il regardera dans les groupes. Les chances sont que vous n'utilisez des dossiers réels donc ça va marcher beaucoup. Si vous utilisez des dossiers alors il vous suffit de faire le compte dans chaque dossier et de les additionner.
Remarque:. En Juin 2012, il semble que cela ne fonctionne pas correctement avec les dernières versions de Xcode
- Terminal ouvert
- accédez à votre projet
-
exécuter la commande suivante dans votre projet:
find . -path ./Pods -prune -o -name "*.swift" -print0 ! -name "/Pods" | xargs -0 wc -l
Ou:
find . -path ./Pods -prune -o -name "*[hm]" -print0 ! -name "/Pods" | xargs -0 wc -l
(* Hors fichiers pod comptent de nombre total)
Si vous allez à votre répertoire de projet dans le terminal et entrez:
find . "(" -name "*.h" -or -name "*.m" -or -name "*.mm" -or -name "*.hpp" -or -name "*.cpp" -or -name "*.c" -or -name "*.cc" -or -name "*.swift" ")" -print0 | xargs -0 wc -l
Cela vous donnera une ventilation du projet, ainsi que le total de ligne pour chaque fichier et le projet dans son ensemble.
La version de Nozzi ne fonctionne pas pour moi, mais celui-ci:
find . -type f -print0 | xargs -0 cat | wc -l
Vous pouvez installer SLOCCount par MacPorts. Ou, plus crûment, vous pouvez utiliser wc -l.
Une façon rapide et facile:
Utilisez une recherche regex (Trouver Navigator, choisissez Rechercher> Expression régulière).
. \ N
Fonctionne à des champs de recherche Xcode et vous pouvez facilement le personnaliser à tout type de ligne que vous souhaitez compter;).
Désolé pour répéter. C'est la façon la plus simple à mon humble avis:
- Dans le type de terminal
find /users/<#username#>/documents/folderWithProject/ -type f -exec cp {} /users/<#username#>/documents/folderWithProject/newFolder/ \;
Cette copie tous les fichiers du dossier de projet à newFolder
.
- Télécharger Xcode Statisticien et l'utiliser avec
newFolder
Je ne suis pas familier avec Xcode, mais si tout ce que vous avez besoin est de compter le nombre de lignes de tous les fichiers spécifiques dans une arborescence, vous pouvez utiliser la commande suivante:
find .... match of all those files ... -exec wc -l {} +
Joshua réponse de Nozzi, GNU find l'expression régulière de ces fichiers serait comme:
find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.swift" ")" -exec wc -l {} +
ou même
find -regex ".*\.\(m\|mm\|cpp\|swift\)$" -exec wc -l {} +
utilise une expression régulière pour correspondre à tous les fichiers se terminant soit .m
, .mm
, .cpp
ou .swift
. Vous pouvez voir plus d'informations sur ces expressions dans Comment utiliser regex dans le fichier trouver .
Si vous travaillez avec Mac OS trouver , vous avez besoin d'une approche légèrement différente, comme expliqué par
Un aperçu rapide Voici comment vous obtenez l'outil Utilisez la commande de Si vous voulez plus de détails, il suffit d'utiliser Et la meilleure partie de cet outil est, vous pouvez ajouter .gitignore comme fichier de configuration à elle. Vous pouvez définir des règles pour sélectionner ou ignorer ce type de fichiers à compter comme ce que vous faites dans « .gitignore ». Oui, cet outil est tout simplement inventé pour faire savoir combien de lignes je plus facile. Plus la description et l'utilisation est ici: https://github.com/MorganZhang100/line-counter Je suis l'auteur de cet outil simple. Espérons que cela peut aider quelqu'un. line-counter
est une bonne alternative. Il est plus léger que CLOC et beaucoup plus puissant et plus facile à utiliser que d'autres commandes. $ pip install line-counter
line
pour obtenir le nombre de fichiers et le nombre de ligne sous le répertoire courant (récursive) $ line
Search in /Users/Morgan/Documents/Example/
file count: 4
line count: 839
line -d
. $ line -d
Search in /Users/Morgan/Documents/Example/
Dir A/file C.c 72
Dir A/file D.py 268
file A.py 467
file B.c 32
file count: 4
line count: 839