Cloc — подсчитайте строки исходного кода на многих языках программирования
Как разработчику вам может потребоваться поделиться ходом работы и статистикой вашего кода с вашим начальником или коллегами. Ваш начальник может захотеть проанализировать код и предоставить дополнительную информацию. Насколько мне известно, в таких случаях существует мало программ для анализа исходного кода. Одной из таких программ является Ohcount. Сегодня я наткнулся на еще одну подобную утилиту, а именно Cloc. Используя Cloc, вы можете легко посчитать строки исходного кода на нескольких языках программирования. Он подсчитывает пустые строки, строки комментариев и физические строки исходного кода и отображает результат в аккуратном формате таблиц и столбцов. Cloc — бесплатная кроссплатформенная утилита с открытым исходным кодом, полностью написанная на языке программирования Perl.
Функции
Cloc обладает многочисленными преимуществами, включая следующие:
- Простота установки/использования. Не требует никаких зависимостей.
- Портативный
- Он может выдавать результаты в различных форматах, таких как обычный текст, SQL, JSON, XML, YAML, значения, разделенные запятыми.
- Можете посчитать ваши git-коммиты.
- Посчитайте код в каталогах и подкаталогах.
- Подсчет кодов Подсчет кода в сжатых архивах, таких как tar-шары, Zip-файлы, файлы Java .ear и т. д.
- Открытый исходный код и кроссплатформенность.
Установка часов
Утилита Cloc доступна в репозиториях по умолчанию большинства Unix-подобных операционных систем. Таким образом, вы можете установить его, используя менеджер пакетов по умолчанию, как показано ниже.
В Arch Linux и его вариантах:
sudo pacman -S cloc
В Дебиане, Убунту:
sudo apt-get install cloc
В CentOS, Red Hat, Scientific Linux:
sudo yum install cloc
В Федоре:
sudo dnf install cloc
Во FreeBSD:
sudo pkg install cloc
Его также можно установить с помощью стороннего менеджера пакетов, например NPM.
npm install -g cloc
Подсчитайте строки исходного кода на многих языках программирования
Начнем с простого примера. У меня есть программа «Привет, мир», написанная на C, в моем текущем рабочем каталоге.
cat hello.c
#include <stdio.h>
int main()
{
// printf() displays the string inside quotation
printf("Hello, World!");
return 0;
}
Чтобы подсчитать строки кода в программе hello.c, просто запустите:
cloc hello.c
Пример вывода:
В первом столбце указано название языков программирования, из которых состоит исходный код. Как видно из приведенного выше вывода, исходный код программы «Hello World» написан с использованием языка программирования C.
Во втором столбце отображается количество файлов на каждом языке программирования. Итак, наш код всего содержит 1 файл.
В третьем столбце отображается общее количество пустых строк. В нашем коде нет пустых файлов.
В четвертом столбце отображается количество строк комментариев.
А в последнем и пятом столбце отображается общее количество физических строк данного исходного кода.
Это всего лишь программа из 6 строк кода, поэтому подсчет строк кода не составляет большого труда. А как насчет какого-то большого файла исходного кода? Взгляните на следующий пример:
cloc file.tar.gz
Пример вывода:
Согласно приведенному выше выводу, вручную найти точное количество кода довольно сложно. Но Cloc отображает результат за секунды в удобном формате табличных столбцов. В конце вы можете просмотреть общую сумму каждого раздела, что очень удобно при анализе исходного кода программы.
Cloc считает не только отдельные файлы исходного кода, но также файлы внутри каталогов и подкаталогов, архивов и даже в определенных коммитах git и т. д.
Подсчитайте строки кодов в каталоге:
cloc dir/
Подкаталог:
cloc dir/cloc/tests
Посчитайте строки кодов в архивном файле:
cloc archive.zip
Вы также можете подсчитать строки в репозитории git, используя конкретный коммит, как показано ниже.
git clone https://github.com/AlDanial/cloc.git
cd cloc
cloc 157d706
Cloc может распознавать несколько языков программирования. Чтобы просмотреть полный список распознаваемых языков, запустите:
cloc --show-lang
Для получения более подробной информации обратитесь к разделу помощи.
cloc --help
Ресурс:
- Репозиторий Cloc на GitHub