Поиск по сайту:

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


При работе над различными проектами иногда вам может потребоваться предоставить отчет или статистику вашего прогресса или просто рассчитать ценность вашего кода.

Существует простой, но мощный инструмент под названием «cloc – подсчет строк кода», который позволяет вам подсчитывать все количество вашего кода и одновременно исключать комментарии и пустые строки.

Он доступен во всех основных дистрибутивах Linux, поддерживает несколько языков программирования и расширений файлов и не предъявляет каких-либо особых требований к использованию.

В этом уроке вы узнаете, как установить и использовать cloc в вашей системе Linux.

Как установить и использовать Cloc в системах Linux

Установить cloc легко и просто. Ниже вы можете увидеть, как установить Cloc в разных операционных системах с помощью соответствующих менеджеров пакетов:

sudo apt install cloc                  # Debian, Ubuntu
sudo yum install cloc                  # Red Hat, Fedora
sudo dnf install cloc                  # Fedora 22 or later
sudo pacman -S cloc                    # Arch
sudo emerge -av dev-util/cloc          # Gentoo https://packages.gentoo.org/packages/dev-util/cloc
sudo apk add cloc                      # Alpine Linux
sudo pkg install cloc                  # FreeBSD
sudo port install cloc                 # Mac OS X with MacPorts
brew install cloc                      # Mac OS X with Homebrew
npm install -g cloc                    # https://www.npmjs.com/package/cloc

Cloc можно использовать для подсчета строк в конкретном файле или в нескольких файлах внутри каталога. Чтобы использовать cloc, просто введите cloc, а затем файл или каталог, который вы хотите проверить.

Вот пример файла в bash. Рассматриваемый файл содержит следующий код на bash:

cat bash_script.sh

Теперь давайте запустим на нем часы.

cloc bash_script.sh

Как видите, он подсчитал количество файлов, пустых строк, комментариев и строк кода.

Еще одна интересная особенность cloc — ее можно использовать даже со сжатыми файлами. Например, я скачал последний архив WordPress и запустил на нем cloc.

cloc latest.tar.gz

Вот результат:

Вы можете видеть, что он распознает различные типы кода и разделяет статистику по языкам.

Если вам нужно получить отчет для нескольких файлов в каталоге, вы можете использовать опцию “--by-file ”, которая будет подсчитывать строки в каждом файле и предоставлять для них отчет. Это может занять некоторое время для проектов с большим количеством файлов и тысячами строк кода.

Синтаксис следующий:

cloc --by-file <directory>

Хотя справка по cloc легко читается и понятна, я включу некоторые дополнительные параметры, которые можно использовать с cloc, которые могут оказаться полезными для некоторых пользователей.

  • --diff — вычисляет различия в коде между исходными файлами set1 и set2. Входные данные могут представлять собой смесь файлов и каталогов.
  • --git — заставляет входные данные распознаваться как цели git, если они сначала не идентифицируются как имена файлов или каталогов.
  • --ignore-whitespace — игнорирует горизонтальные пробелы при сравнении файлов с помощью --diff.
  • --max-file-size= — если вы хотите пропускать файлы размером больше заданного размера МБ.
  • --exclude-dir=, – исключить указанные каталоги, разделенные запятыми.
  • --exclude-ext=, – исключить указанные расширения файлов.
  • --csv – экспортировать результаты в формат файла CSV.
  • --csv-delimiter= — используйте символ в качестве разделителя.
  • --out= — сохранить результаты в <file>.
  • --quiet — подавлять все информационные сообщения и показывать только окончательный отчет.
  • --sql= — запишите результаты в виде операторов создания и вставки, которые могут быть прочитаны программой базы данных, такой как SQLite.
Заключение

Cloc — небольшая полезная утилита, которую обязательно стоит иметь в своем арсенале. Хотя его нельзя использовать ежедневно, он может помочь вам, когда вам нужно создать какой-то отчет или вам просто интересно, как продвигается ваш проект.