objective c - para - ¿Sabes cuántas líneas de código tienes en un proyecto de Xcode?
swift para windows (6)
No estoy seguro acerca de las herramientas que se conectan directamente a Xcode (¿por qué todavía está utilizando Xcode 3 cuando 4.1 está disponible gratuitamente en Lion?), Pero me parece que la herramienta de línea de comandos funciona bien con el código Objective-C.
Tengo un proyecto bastante grande y finalmente lo terminé. Solo tengo curiosidad por saber cuántas líneas de código hay en total en mi proyecto. Estoy usando Xcode 3. ¿De verdad puedes averiguar cuántas líneas de código se han compilado?
Una forma es cargar una copia en Xcode y usar "Project Analyzer for Xcode 4". Busque "Xcode" en la Apple App Store de Apple. No he usado este programa, pero lo vi ayer cuando estaba buscando aplicaciones relacionadas con Xcode en Mac App Store.
Espero que ayude.
Puede usar sloccount o cloc para hacer esto, ambos son compatibles con el código Objective-C.
Recomiendo usar sloccount, puede obtener un buen informe HTML si también usa Jenkins. El informe HTML le permitirá profundizar en los diferentes directorios y archivos.
Esta es una línea de comando para tener una visión general de tu código, si estás en el directorio raíz de tu proyecto de Xcode:
sloccount --duplicates --wide YOUR-TARGET-NAME
Y si desea generar un informe para usar en Jenkins, simplemente agregue el indicador --details
:
sloccount --duplicates --wide --details YOUR-TARGET-NAME > build/sloccount.sc
e instala el plugin de Jenkins para sloccount a través de la interfaz de usuario de Jenkins.
Podrás ver ejemplos de dichos informes en Jenkins en este artículo del blog (descargo de responsabilidad: yo soy el autor): http://blog.octo.com/en/jenkins-quality-dashboard-ios-development/#step1- 1 .
Abre Terminal.app, cd
en el directorio raíz de tu proyecto y ejecuta este comando:
find . /( -iname /*.m -o -iname /*.mm -o -iname /*.c -o -iname /*.cc -o -iname /*.h /) -exec wc -l ''{}'' /+
Si tiene otros tipos de archivos que también desea incluir en su recuento, agregue más -o /*.ext
cláusulas.
Abra Terminal.app, vaya al directorio raíz de su proyecto y ejecute este comando:
Solo para Swift:
find . /( -iname /*.swift /) -exec wc -l ''{}'' /+
Para Obj-C solamente:
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 ''{}'' /+
Consejos rápidos de terminal:
ls: enumerar los contenidos del directorio
cd: cambiar el directorio
Presione la pestaña para autocompletar
Recuerde poner "/" barra invertida antes de espacios
Sugiero ir una carpeta hacia abajo desde el proyecto principal para que se deshaga del recuento de códigos de los marcos
Un script bash que encuentra el recuento de líneas de archivos WITHOUT COMMENTS AND EMPTY LINES
. La secuencia de comandos no cuenta los comentarios que comienzan con //
. Copie la secuencia de comandos a su carpeta de proyecto y ejecute sh scriptname.sh
.
Para un cambio rápido /( -iname /*.m -o -iname /*.mm -o -iname /*.h /)
a /( -iname /*.swift /)
# $excluded is a regex for paths to exclude from line counting
excluded="some_dir_name/|some_dir_name2/|lib/|thisfile"
countLines(){
# $total is the total lines of code counted
total=0
# -mindepth exclues the current directory (".")
for file in `find . -mindepth 1 /( -iname /*.m -o -iname /*.mm -o -iname /*.h /) | grep -v "$excluded"`; do
# First sed: only count lines of code that are not commented with //
# Second sed: don''t count blank lines
# $numLines is the lines of code
numLines=`cat $file | sed ''//////d'' | sed ''/^/s*$/d'' | wc -l`
# To exclude only blank lines and count comment lines, uncomment this:
#numLines=`cat $file | sed ''/^/s*$/d'' | wc -l`
total=$(($total + $numLines))
echo " " $numLines $file
done
echo " " $total in total
}
countLines