Строки кода в Eclipse PyDev Projects - PullRequest
9 голосов
/ 09 июля 2010

Интересно, кому-нибудь повезло, если использовать плагин Eclipse Metrics с проектами, не использующими Java (в частности, я пытаюсь сгенерировать метрики кода для пары проектов PyDev). Я прочитал пошаговое руководство по проекту Metrics, но это указывает на то, что я должен быть в перспективе Java, прежде чем получить доступ к свойствам для моего проекта и что я должен найти раздел Metrics. Я не получаю это для моих проектов PyDev независимо от того, какую перспективу я открываю. Любые предложения или советы будут великолепны.

Ответы [ 3 ]

16 голосов
/ 09 июля 2010

Я не знаю, можно ли заставить плагин работать с проектами pydev, но если вам нужна только метрика lines-of-code, вы можете запустить этот фрагмент в корневом каталоге вашего проекта:

# 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)
2 голосов
/ 17 октября 2012

Если вы работаете в Linux ...

Взглянули ли вы на cloc ?

Он производит довольно полные выходные данные и принимает несколько вариантов:

borrajax@borrajax-linux:~/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
--------------------------------------------------------------------------------

Также доступно в репозиториях Ubuntu.

0 голосов
/ 22 апреля 2013

В Unix вы можете запустить из терминала следующее:

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

Если вы не хотите считать комментарии, вам нужно лучшее регулярное выражение ...

...