Как вы считаете строки кода в решении Visual Studio?

Я использую эту функцию для формата dd / mm / yyyy:

// (new Date()).fromString("3/9/2013") : 3 of september
// (new Date()).fromString("3/9/2013", false) : 9 of march
Date.prototype.fromString = function(str, ddmmyyyy) {
    var m = str.match(/(\d+)(-|\/)(\d+)(?:-|\/)(?:(\d+)\s+(\d+):(\d+)(?::(\d+))?(?:\.(\d+))?)?/);
    if(m[2] == "/"){
        if(ddmmyyyy === false)
            return new Date(+m[4], +m[1] - 1, +m[3], m[5] ? +m[5] : 0, m[6] ? +m[6] : 0, m[7] ? +m[7] : 0, m[8] ? +m[8] * 100 : 0);
        return new Date(+m[4], +m[3] - 1, +m[1], m[5] ? +m[5] : 0, m[6] ? +m[6] : 0, m[7] ? +m[7] : 0, m[8] ? +m[8] * 100 : 0);
    }
    return new Date(+m[1], +m[3] - 1, +m[4], m[5] ? +m[5] : 0, m[6] ? +m[6] : 0, m[7] ? +m[7] : 0, m[8] ? +m[8] * 100 : 0);
}
745
задан Rob 2 October 2011 в 21:24
поделиться

10 ответов

В Visual Studio Team System 2008 вы можете сделать это из меню «Анализ» -> «Вычислить метрики кода для решения», и это даст вам количество строк всего вашего решения (среди прочего г )

19
ответ дан 22 November 2019 в 21:24
поделиться

Вы можете использовать:

9
ответ дан 22 November 2019 в 21:24
поделиться

Счетчик строк с открытым исходным кодом для VS2005, 2003 и 2002 доступен здесь:

http://www.wndtabs.com/

Также обсуждается создание счетчика строк Надстройка VS вместе с кодом Codeproject, здесь

http://www.codeproject.com/KB/macros/LineCounterAddin.aspx

Также в гаджетах Slick Edit есть хороший счетчик строк, здесь:

http : //www.slickedit.com/products/slickedit

и Microsoft Visual Studio Team System 2008 включает хороший счетчик строк.

Просто помните:

Измерение прогресса программирования по строкам кода похоже на измерение постройки самолета прогресс по весу. Билл Гейтс

218
ответ дан 22 November 2019 в 21:24
поделиться

Я нашел powershell полезным для этого. В любом случае, я считаю LoC довольно надуманной метрикой, поэтому не думаю, что может потребоваться что-то более формальное.

Из небольшого каталога решения:

PS C:\Path> (gci -include *.cs,*.xaml -recurse | select-string .).Count
8396
PS C:\Path>

При этом будут подсчитаны непустые строки во всех .cs решения. и файлы .xaml. Для более крупного проекта я просто использовал другой список расширений:

PS C:\Other> (gci -include *.cs,*.cpp,*.h,*.idl,*.asmx -recurse | select-string .).Count
909402
PS C:\Other>

Зачем использовать все приложение, если это можно сделать с помощью одной командной строки? :)

822
ответ дан 22 November 2019 в 21:24
поделиться

cloc - отличная командная строка, основанная на Perl, исполняемая Windows, которая разбивает пустые строки, строки с комментариями и строки исходного кода, сгруппированные по форматам файлов.

Теперь он не будет запускаться специально для файла решения VS, но может рекурсивно перемещаться по каталогам, и вы можете настроить фильтры имен файлов по своему усмотрению.

Вот пример вывода с их веб-страницы:


prompt> cloc perl-5.10.0.tar.gz
    4076 text files.
    3883 unique files.                                          
    1521 files ignored.

http://cloc.sourceforge.net v 1.07  T=10.0 s (251.0 files/s, 84566.5 lines/s)
-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
Perl               2052    110356    112521    309778 x   4.00 =     1239112.00
C                   135     18718     22862    140483 x   0.77 =      108171.91
C/C++ Header        147      7650     12093     44042 x   1.00 =       44042.00
Bourne Shell        116      3402      5789     36882 x   3.81 =      140520.42
Lisp                  1       684      2242      7515 x   1.25 =        9393.75
make                  7       498       473      2044 x   2.50 =        5110.00
C++                  10       312       277      2000 x   1.51 =        3020.00
XML                  26       231         0      1972 x   1.90 =        3746.80
yacc                  2       128        97      1549 x   1.51 =        2338.99
YAML                  2         2         0       489 x   0.90 =         440.10
DOS Batch            11        85        50       322 x   0.63 =         202.86
HTML                  1        19         2        98 x   1.90 =         186.20
-------------------------------------------------------------------------------
SUM:               2510    142085    156406    547174 x   2.84 =     1556285.03
-------------------------------------------------------------------------------

Эквивалентная шкала третьего поколения - это приблизительная оценка того, сколько кода потребуется на языке третьего поколения . Не очень полезно, но все равно интересно.

62
ответ дан 22 November 2019 в 21:24
поделиться

Другой простой инструмент для VS2008 (открытый источник): http://www.accendo.sk/download/sourcestat.zip

3
ответ дан 22 November 2019 в 21:24
поделиться

Нашел этот совет: LOC с VS Найти и заменить

Не плагин, хотя, если это то, что вы ищете .

80
ответ дан 22 November 2019 в 21:24
поделиться

Простое решение - поиск по всем файлам. Введите «*» при использовании подстановочных знаков. Что соответствовало бы всем строкам. В конце окна результатов поиска вы должны увидеть строку вида:

Соответствующие строки: 563 Соответствующие файлы: 17 Всего файлов было выполнено поиск: 17

Конечно, это не очень хорошо для больших проектов, поскольку все строки подключаются и загружаются в память для отображения в окне результатов поиска.

Ссылка:

11
ответ дан 22 November 2019 в 21:24
поделиться

Попробуйте нептунер. Он также предоставляет вам такие вещи, как пробелы, табуляции, строки комментариев в дополнение к LoC. http://neptuner.googlecode.com/files/neptuner_0_30_windows.zip

0
ответ дан 22 November 2019 в 21:24
поделиться

Я предпочитаю OxyProject Metrics VS Addin.

5
ответ дан 22 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: