Comparando Projetos e Gerando Relatórios
O CLOC oferece recursos para comparar diferentes projetos e gerar relatórios em vários formatos. Essas capacidades são particularmente úteis para rastrear mudanças ao longo do tempo ou comparar diferentes bases de código.
Comparando Dois Diretórios
Vamos criar um projeto simples para comparar com o Flask:
- Navegue até o diretório do projeto:
cd ~/project
- Crie um novo diretório para um projeto Python simples:
mkdir sample_project
cd sample_project
- Crie alguns arquivos Python com algum código:
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
- Agora, vamos comparar este projeto de exemplo com o projeto Flask usando o recurso de diff do CLOC:
cd ~/project
cloc --diff flask sample_project
A saída mostrará a diferença nas métricas de código entre os dois projetos:
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
-------------------------------------------------------------------------------
O CLOC pode gerar relatórios em vários formatos, incluindo CSV e XML. Vamos criar um relatório CSV para o projeto Flask:
- Navegue até o projeto Flask:
cd ~/project/flask
- Gere um relatório CSV:
cloc --csv --out=flask_stats.csv .
- Visualize o conteúdo do relatório gerado:
cat flask_stats.csv
Você deve ver a análise do CLOC em formato 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
Este formato CSV é particularmente útil para importar em planilhas ou outras ferramentas de análise de dados.
Da mesma forma, você pode gerar um relatório XML:
cloc --xml --out=flask_stats.xml .
Esses recursos de relatório tornam o CLOC uma ferramenta versátil para análise de código e gerenciamento de projetos.