2010-12-26 27 views

risposta

19

Usa sloccount

+3

+1 la ruota è già stata inventata –

+0

+1 sul commento per un gioco di parole (la ruota di David Wheeler <-> è già stata inventata). – user502515

+0

+1 per menzionare lo sloccount. Io uso Cloc e Sloccount ha informazioni aggiuntive che è abbastanza utile. –

2

Si potrebbe provare qualcosa di simile:

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

Questo conteggia anche le linee vuote, ma è facile. Vai alla specifica si directory di controllo vuole e fanno

find . | wc 
1

miei suggerimenti sarebbe

  1. utilizzare un comando find come nella risposta di Barti per individuare tutti i file
  2. Utilizzare sed o qualcosa da strip out all the comments
  3. Non farlo per nulla

SLOC è un modo molto, molto fuorviante per misurare il software. Bill Gates ha detto che era come stimare la qualità di un aereo in base al peso, e potrebbe essere l'unica cosa utile che abbia mai detto.

+1

Il tuo ultimo paragrafo è sbagliato, perché dipende da cosa stai provando a misurare sul software. Si consideri, per esempio, che il peso di un Boeing e il suo costo sono approssimativamente proporzionali - il che significa che, data una linea di regressione attraverso i costi e i pesi delle attuali 737, 747, 767 e 777 linee di prodotto, si può indovinare costo di un Dreamliner 787 a circa il 15% dato il suo peso. I tempi di sviluppo e il conteggio degli SLOC hanno quel tipo di proporzionalità all'interno di classi simili di software e team di sviluppo simili. –

+0

Penso che sia un'eccellente analogia. Piani molto simili realizzati dalla stessa compagnia e c'è una stretta correlazione tra peso e costo. Confronta due programmi scritti dalla stessa persona, nella stessa lingua, si, probabilmente puoi correlare SLOC con il tempo di scrivere, il numero di bug e così via. In * ogni altro caso * ... – Malvolio

-1

Già risposto, dando semplicemente un altro modo utilizzando awk che sicuramente avrai.

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

Ho solo anche suggerire questo perché può essere facilmente modificato per aggiungere i modelli (ad esempio commenti) per le linee che non si desidera contare.

9

Utilizzare cloc. Supporta circa 80 lingue.

+0

Un file, nessuna compilazione, nessuna dipendenza diversa da Perl. Bello. –

9

Si può semplicemente utilizzare

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

+1 per la risposta più pulita – Elijah

+2

Probabilmente si desidera utilizzare '-type f' per ottenere solo i file e aggiungere un' tail -1 'per ottenere solo il totale. Inoltre, sfortunatamente, questo non funziona se si hanno nomi di file con spazi al loro interno; 'trova-tipo f -exec wc -l {} + | coda -1' funziona fintanto che non si hanno troppi file. –

Problemi correlati