2010-07-09 6 views
9

Mi chiedo se qualcuno abbia avuto fortuna usando il plugin Eclipse Metrics con progetti che non sono in Java (in particolare sto cercando di generare metriche di codice per un paio di progetti PyDev). Ho letto il walk-through per il progetto Metrics ma indica che dovrei trovarmi in Java Perspective prima di accedere alle Proprietà per il mio progetto e che dovrei trovare una sezione delle metriche. Non lo capisco per i miei progetti PyDev a prescindere dalla prospettiva che ho aperto. Qualsiasi suggerimento o consiglio sarebbe fantastico.Linee di codice nei progetti PyDev di Eclipse

risposta

16

Non so se è fattibile per ottenere il plugin per lavorare con progetti PyDev, ma se è solo l'lines-of-code metrica che si sta dopo, è possibile eseguire questo frammento nella directory principale del progetto:

# prints recursive count of lines of python source code from current directory 
# includes an ignore_list. also prints total sloc 

import os 
cur_path = os.getcwd() 
ignore_set = set(["__init__.py", "count_sourcelines.py"]) 

loclist = [] 

for pydir, _, pyfiles in os.walk(cur_path): 
    for pyfile in pyfiles: 
     if pyfile.endswith(".py") and pyfile not in ignore_set: 
      totalpath = os.path.join(pydir, pyfile) 
      loclist.append((len(open(totalpath, "r").read().splitlines()), 
           totalpath.split(cur_path)[1])) 

for linenumbercount, filename in loclist: 
    print "%05d lines in %s" % (linenumbercount, filename) 

print "\nTotal: %s lines (%s)" %(sum([x[0] for x in loclist]), cur_path) 
+0

che ha fatto quello che mi serviva a. Grazie! –

2

Se sei in Linux ...

Hai dato un'occhiata a cloc?

produce uscite abbastanza completi, e accetta molte delle opzioni:

[email protected]:~/Documents/Projects/myProject$ cloc . 
    1840 text files. 
    1566 unique files.           
    9362 files ignored. 

http://cloc.sourceforge.net v 1.53 T=3.0 s (454.3 files/s, 81397.0 lines/s) 
-------------------------------------------------------------------------------- 
Language      files   blank  comment   code 
-------------------------------------------------------------------------------- 
Javascript      709   19190   17283   93862 
Python       333   6278   3399   38398 
C        86   3244   2303   17755 
CSS        122   1786   1592   16856 
HTML        55   784    51   8072 
Bourne Shell      14   651   280   6641 
C/C++ Header      6   301   293   1259 
XML        9    5    0   1153 
PHP        2    88   211   585 
SQL        19   200   127   576 
Bourne Again Shell    2    57    15   494 
make        5    41    19   187 
DOS Batch       1    21    1   133 
-------------------------------------------------------------------------------- 
SUM:       1363   32646   25574   185971 
-------------------------------------------------------------------------------- 

E 'disponibile nei repository di Ubuntu, pure.

0

Su Unix è possibile eseguire il seguente dal terminale:

find . -name '*.py' | xargs cat | egrep "[a-zA-Z0-9_{}]" | wc -l 

Se desideri non contano i commenti, è necessario una migliore espressione regolare ...