usar curso como xcode code-metrics
Xcode Statistician

curso - como usar xcode



¿Cómo saber cuántas líneas de código hay en un proyecto Xcode? (14)

  1. terminal abierta
  2. navega a tu proyecto
  3. Ejecuta el siguiente comando dentro de tu proyecto:

    find . -path ./Pods -prune -o -name "*.swift" -print0 ! -name "/Pods" | xargs -0 wc -l

    O:

    find . -path ./Pods -prune -o -name "*[hm]" -print0 ! -name "/Pods" | xargs -0 wc -l

(* Excluyendo el recuento total de archivos pod)

¿Hay una manera de determinar cuántas líneas de código contiene un proyecto de Xcode? Prometo no usar dicha información para fines de medición gerencial o de evaluación de empleados. ;)


Abra Terminal.app, vaya al directorio raíz de su proyecto y ejecute este comando:

Sólo para Swift:

find . /( -iname /*.swift /) -exec wc -l ''{}'' /+

Sólo para Obj-C:

find . /( -iname /*.m -o -iname /*.mm -o -iname /*.h /) -exec wc -l ''{}'' /+

Para Obj-C + Swift:

find . /( -iname /*.m -o -iname /*.mm -o -iname /*.h -o -iname /*.swift /) -exec wc -l ''{}'' /+

Para 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 ''{}'' /+

Extremidades rápidas de la terminal:
ls: listar los contenidos del directorio
cd: cambiar directorio
Presione la pestaña para autocompletar
Recuerda poner "/" barra diagonal invertida antes de espacios
Le sugiero que vaya una carpeta del proyecto principal para deshacerse del conteo de códigos de los marcos.



Echa un vistazo a Xcode Statistician, hace exactamente lo que quieres. También proporciona otras estadísticas interesantes, por lo que vale la pena correr por diversión de vez en cuando.

Tenga en cuenta que no se verá dentro de carpetas reales, aunque se verá en grupos. Lo más probable es que no estés usando carpetas reales, así que funcionará muy bien. Si está utilizando carpetas, solo tiene que hacer el recuento en cada carpeta y agregarlas juntas.

Nota: a partir de junio de 2012, parece que esto no funciona correctamente con las últimas versiones de Xcode.


En la terminal, cambie al directorio del proyecto y ejecute:

find . -type f -print0 | xargs -0 cat | wc -l

Si solo quieres ciertos tipos de archivos, prueba algo como

find . -type f -name /*.[ch]* -print0 | xargs -0 cat | wc -l


He estado usando CLOC como lo mencionó Nathan Kinsinger y es bastante fácil de usar. Es un script de PERL que puede agregar y ejecutar desde el directorio de su proyecto.

PERL ya forma parte de Mac OS y puede invocar el script de esta manera para averiguar el número de líneas que ha escrito:

perl cloc-1.56.pl ./YourDirectoryWhereYourSourcesAre

Este es un ejemplo de salida que obtuve de tal comando:

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


La versión de Nozzi no funciona para mí, pero esta:

find . -type f -print0 | xargs -0 cat | wc -l


Lo siento por repetir. Esa es la forma más fácil en mi humilde opinión:

  1. En tipo terminal

find /users/<#username#>/documents/folderWithProject/ -type f -exec cp {} /users/<#username#>/documents/folderWithProject/newFolder/ /;

Esto copiará todos los archivos de la carpeta del proyecto a newFolder .

  1. Descarga Xcode Statistician y newFolder con newFolder

No estoy familiarizado con xcode, pero si todo lo que necesita es contar el número de líneas de todos esos archivos específicos dentro de un árbol de directorios, puede usar el siguiente comando:

find .... match of all those files ... -exec wc -l {} +

Siguiendo la respuesta de Joshua Nozzi , en GNU, encontrar la expresión regular para tales archivos sería:

find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.swift" ")" -exec wc -l {} +

o incluso

find -regex ".*/./(m/|mm/|cpp/|swift/)$" -exec wc -l {} +

esto usa una expresión regular para hacer coincidir todos los archivos que terminan en .m , .mm , .cpp o .swift . Puede ver más información sobre esas expresiones en Cómo usar expresiones regulares en la búsqueda de archivos .

Si está trabajando con Mac OS Find , entonces necesita un enfoque ligeramente diferente, como lo explica Motti Shneor en los comentarios:

find -E . -regex ".*/.([hmc]|mm|cp+|swift|pch)$" -exec wc -l {} +

Ambos proporcionarán una salida en la forma de:

234 ./file1 456 ./file2 690 total

Así que puedes mantenerlo así o simplemente canalizar a la tail -1 (es decir, find ... | tail -1 ) para que la última línea sea el total.


Puede instalar SLOCCount través de MacPorts. O, más crudamente, puedes usar wc -l.


Si vas al directorio de tu proyecto en la terminal e ingresas:

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

Eso le dará un desglose del proyecto, así como el total de la línea para cada archivo y el proyecto en su conjunto.


Veo esto flotando alrededor y lo uso yo mismo:

find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.swift" ")" -print0 | xargs -0 wc -l


line-counter es una buena alternativa. Es más ligero que CLOC y mucho más potente y fácil de usar que otros comandos.

Un resumen rápido

Así es como se obtiene la herramienta.

$ pip install line-counter

Utilice el comando de line para obtener el recuento de archivos y el recuento de líneas en el directorio actual (recursivamente)

$ line Search in /Users/Morgan/Documents/Example/ file count: 4 line count: 839

Si quieres más detalles, solo usa la 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

Y la mejor parte de esta herramienta es que puede agregar .gitignore como configurar el archivo. Puedes configurar reglas para seleccionar o ignorar qué tipo de archivos contar como lo que haces en ''.gitignore''. Sí, esta herramienta solo se ha inventado para saber cuántas líneas tengo más fáciles.

Más descripción y uso está aquí: https://github.com/MorganZhang100/line-counter

Soy el autor de esta sencilla herramienta. Espero que pueda ayudar a alguien.

Cualquier estrella o tenedor es apreciado: P


Una manera rápida y fácil:

Use una búsqueda de expresiones regulares (Buscar navegador, elija Buscar> Expresión regular).

./norte

Funciona cómodamente con los ámbitos de búsqueda de Xcode y puede personalizarlo fácilmente para cualquier tipo de línea que desee contar;).