2010-12-26 42 views

Respuesta

19

Uso sloccount

+3

+1 la rueda ya se ha inventado –

+0

+1 en el comentario de un juego de palabras (la rueda de David Wheeler <-> ya se ha inventado). – user502515

+0

+1 por mencionar sloccount. Yo uso cloc y sloccount tiene información adicional que es bastante útil. –

2

Usted podría intentar algo como:

find . -name "*.java" -exec cat {} \; | wc -l 
-1

Esto contará las líneas vacías también, pero es fácil. Ir al directorio específico que cheque quieren y hacen

find . | wc 
1

Mi sugerencia sería

  1. Usar un comando find como en la respuesta de Barti para localizar todos los archivos
  2. Use sed o algo para strip out all the comments
  3. No lo hagas en absoluto

SLOC es una forma muy, muy engañosa de medir el software. Bill Gates dijo que era como estimar la calidad de un avión en peso, y que podría ser la única cosa útil que dijo.

+1

Su último párrafo es incorrecto, porque depende de lo que esté tratando de medir sobre el software. Considere, por ejemplo, que el peso de un avión Boeing y su costo son aproximadamente proporcionales, lo que significa que, dada una línea de regresión a través de los costos y pesos de las líneas de productos actuales 737, 747, 767 y 777, puede adivinar el costo de un 787 Dreamliner dentro de aproximadamente el 15% dado su peso. Los tiempos de desarrollo y el conteo de SLOC tienen ese tipo de proporcionalidad dentro de clases similares de software y equipos de desarrollo similares. –

+0

Creo que es una excelente analogía. Aviones muy similares fabricados por la misma compañía, y existe una estrecha correlación entre el peso y el costo. Compara dos programas escritos por la misma persona, en el mismo idioma, sí, probablemente pueda correlacionar el SLOC con el tiempo para escribir, el número de errores, etc. En * cualquier otro caso * ... – Malvolio

-1

Ya se ha respondido, simplemente dando otra forma usando awk que definitivamente tendrá.

cat *.ext | awk 'BEGIN{i=0;} {i++;} END{print "Lines ", i}'

Sólo También sugiero esto porque puede ser fácilmente modificados para añadir patrones (como comentarios) para las líneas que no desea contar.

9

Utilice cloc. Es compatible con alrededor de 80 idiomas.

+0

Un archivo, sin compilación, sin dependencias que no sean Perl. Bonito. –

9

sólo puede utilizar

find . -name '*.php' | xargs wc -l 
+0

+1 para la respuesta más clara – Elijah

+2

Probablemente quiera usar '-type f' para obtener solo archivos, y añada un' tail -1' para obtener solo el total. Además, desafortunadamente, esto no funciona si tiene algún nombre de archivo con espacios en ellos; 'encontrar.-type f -exec wc -l {} + | tail -1' funciona siempre que no tenga demasiados archivos. –

Cuestiones relacionadas