Сравнение проектов и создание отчетов
CLOC предоставляет возможности для сравнения различных проектов и создания отчетов в различных форматах. Эти функции особенно полезны для отслеживания изменений во времени или сравнения разных кодовых баз.
Сравнение двух каталогов
Давайте создадим простой проект для сравнения с проектом Flask:
- Перейдите в каталог проекта:
cd ~/project
- Создайте новый каталог для простого Python-проекта:
mkdir sample_project
cd sample_project
- Создайте несколько Python-файлов с некоторым кодом:
echo 'def hello_world():
"""
A simple function that prints Hello World
"""
print("Hello, World!")
if __name__ == "__main__":
hello_world()' > main.py
echo 'class Calculator:
"""A simple calculator class"""
def add(self, a, b):
"""Add two numbers"""
return a + b
def subtract(self, a, b):
"""Subtract b from a"""
return a - b' > calculator.py
- Теперь сравним этот пример проекта с проектом Flask, используя функцию сравнения (diff) CLOC:
cd ~/project
cloc --diff flask sample_project
Вывод будет показывать разницу в показателях кода между двумя проектами:
2 text files.
2 unique files.
0 files ignored.
github.com/AlDanial/cloc v 1.90 T=0.01 s (195.2 files/s, 1756.8 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 2 3 4 11
-------------------------------------------------------------------------------
SUM: 2 3 4 11
-------------------------------------------------------------------------------
Diff by file type:
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Python 39 3058 2084 7001
Markdown 5 175 0 314
YAML 2 10 3 84
make 1 21 30 46
TOML 1 6 0 19
-------------------------------------------------------------------------------
SUM: 48 3270 2117 7464
-------------------------------------------------------------------------------
Создание отчетов в разных форматах
CLOC может создавать отчеты в различных форматах, включая CSV и XML. Давайте создадим CSV-отчет для проекта Flask:
- Перейдите в каталог проекта Flask:
cd ~/project/flask
- Создайте CSV-отчет:
cloc --csv --out=flask_stats.csv .
- Просмотрите содержимое созданного отчета:
cat flask_stats.csv
Вы должны увидеть анализ CLOC в формате CSV:
files,language,blank,comment,code,"github.com/AlDanial/cloc v 1.90 T=0.09 s (571.3 files/s, 96263.8 lines/s)"
41,Python,3061,2088,7012
5,Markdown,175,0,314
2,YAML,10,3,84
1,make,21,30,46
1,TOML,6,0,19
50,SUM,3273,2121,7475
Этот формат CSV особенно полезен для импорта в электронные таблицы или другие инструменты анализа данных.
Аналогично, вы можете создать XML-отчет:
cloc --xml --out=flask_stats.xml .
Эти возможности по созданию отчетов делают CLOC универсальным инструментом для анализа кода и управления проектами.