Comparer des projets et générer des rapports
CLOC propose des fonctionnalités pour comparer différents projets et générer des rapports dans divers formats. Ces capacités sont particulièrement utiles pour suivre les modifications au fil du temps ou comparer différentes bases de code.
Comparer deux répertoires
Créons un simple projet à comparer avec Flask :
- Accédez au répertoire du projet :
cd ~/project
- Créez un nouveau répertoire pour un simple projet Python :
mkdir sample_project
cd sample_project
- Créez quelques fichiers Python avec du code :
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
- Maintenant, comparons ce projet d'exemple avec le projet Flask en utilisant la fonctionnalité de comparaison (
diff
) de CLOC :
cd ~/project
cloc --diff flask sample_project
La sortie affichera la différence dans les métriques de code entre les deux projets :
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 peut générer des rapports dans divers formats, notamment CSV et XML. Créons un rapport CSV pour le projet Flask :
- Accédez au projet Flask :
cd ~/project/flask
- Générez un rapport CSV :
cloc --csv --out=flask_stats.csv .
- Affichez le contenu du rapport généré :
cat flask_stats.csv
Vous devriez voir l'analyse CLOC au format 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
Ce format CSV est particulièrement utile pour l'importation dans des tableurs ou d'autres outils d'analyse de données.
De même, vous pouvez générer un rapport XML :
cloc --xml --out=flask_stats.xml .
Ces capacités de génération de rapports font de CLOC un outil polyvalent pour l'analyse de code et la gestion de projets.