Как узнать, сколько строк кода в проекте Xcode? - PullRequest
137 голосов
/ 05 января 2010

Есть ли способ определить, сколько строк кода содержит проект Xcode? Я обещаю не использовать такую ​​информацию для управленческих измерений или целей сравнительного анализа сотрудников. ;)

Ответы [ 14 ]

218 голосов
/ 24 октября 2010

Я вижу это плавающим вокруг и использую это сам:

find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.swift" ")" -print0 | xargs -0 wc -l
118 голосов
/ 05 января 2010

Выезд CLOC .

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

( Устаревшие сборки архивируются в SourceForge .)

73 голосов
/ 23 октября 2012

Я использовал CLOC как , упомянутый Nathan Kinsinger, и он довольно прост в использовании. Это скрипт PERL, который вы можете добавить и запустить из каталога вашего проекта.

PERL уже является частью Mac OS, и вы можете вызвать скрипт таким образом, чтобы узнать количество написанных вами строк:

perl cloc-1.56.pl ./YourDirectoryWhereYourSourcesAre

Это пример вывода, который я получил от такой команды:

   176 text files.
   176 unique files.                                          
     4 files ignored.

http://cloc.sourceforge.net v 1.56  T=2.0 s (86.0 files/s, 10838.0 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Objective C                     80           3848           1876          11844
C/C++ Header                    92            980           1716           1412
-------------------------------------------------------------------------------
SUM:                           172           4828           3592          13256
-------------------------------------------------------------------------------
43 голосов
/ 05 января 2010

В терминале перейдите в каталог проекта и запустите:

find . -type f -print0 | xargs -0 cat | wc -l

Если вам нужны только определенные типы файлов, попробуйте что-то вроде

find . -type f -name \*.[ch]* -print0 | xargs -0 cat | wc -l
42 голосов
/ 25 февраля 2015

Откройте Terminal.app, перейдите в корневой каталог вашего проекта и выполните команду:

Только для Swift:

find . \( -iname \*.swift \) -exec wc -l '{}' \+

Только для Obj-C:

find . \( -iname \*.m -o -iname \*.mm -o -iname \*.h \) -exec wc -l '{}' \+

Для Obj-C + Swift:

find . \( -iname \*.m -o -iname \*.mm -o -iname \*.h -o -iname \*.swift \) -exec wc -l '{}' \+

Для Obj-C + Swift + C + C ++:

find . \( -iname \*.m -o -iname \*.mm -o -iname \*.c -o -iname \*.cc -o -iname \*.h -o -iname \*.hh -o -iname \*.hpp -o -iname \*.cpp -o -iname \*.swift \) -exec wc -l '{}' \+

Терминал быстрые советы:
ls: список содержимого каталога
cd: изменить каталог
Нажмите Tab для автозаполнения
Не забудьте поставить "\" обратную косую черту перед пробелами
Я предлагаю убрать одну папку из основного проекта, чтобы вы избавились от количества кода в рамках

34 голосов
/ 15 декабря 2010

Проверьте Xcode Statistician, он делает именно то, что вы хотите. Он также предоставляет другую интересную статистику, так что стоит попробовать время от времени.

Обратите внимание, что он не будет смотреться внутри реальных папок, хотя он будет выглядеть в группах. Скорее всего, вы не используете настоящие папки, поэтому он будет отлично работать. Если вы используете папки, то вам просто нужно сделать подсчет в каждой папке и сложить их вместе.

Примечание: По состоянию на июнь 2012 года, похоже, что это не работает должным образом с последними версиями Xcode.

27 голосов
/ 16 ноября 2016
  1. открытый терминал
  2. перейти к вашему проекту
  3. выполните следующую команду внутри вашего проекта:

    find . -path ./Pods -prune -o -name "*.swift" -print0 ! -name "/Pods" | xargs -0 wc -l
    

    Или:

    find . -path ./Pods -prune -o -name "*[hm]" -print0 ! -name "/Pods" | xargs -0 wc -l
    

(* Исключая количество файлов pod из общего количества)

15 голосов
/ 25 сентября 2013

Если вы перейдете в каталог вашего проекта в терминале и введите:

find . "(" -name "*.h" -or -name "*.m" -or -name "*.mm" -or -name "*.hpp" -or -name "*.cpp"  -or  -name "*.c" -or -name "*.cc" -or -name "*.swift" ")" -print0 | xargs -0 wc -l

Это даст вам разбивку по проекту, а также общее количество строк для каждого файла и проекта в целом.

9 голосов
/ 04 июля 2012

Версия Ноцци не работает для меня, но эта:

find . -type f -print0 | xargs -0 cat | wc -l
6 голосов
/ 05 января 2010

Вы можете установить SLOCCount через MacPorts. Или, грубо говоря, вы можете использовать wc -l.

...