forked from menault/TD2_DEV51_Qualite_Algo
1.3 KiB
1.3 KiB
Complexité Cyclomatique - Projet ping-report
ping-report.c
main(): 4
daemon.c
create_daemon(): 4ping_request(): 2send_check(): 3check_keep_working(): 4daemon_work(): 3
db-sqlite.c
db_connect(): 1db_disconnect(): 1insert_hourly_report(): 1
utils.c
write_pid_file(): 2remove_file(): 1
stats.c
get_ping_from_temp_log(): 14 → 3 (refactorisé)write_ping_log(): 4set_stats_ping(): 12 → 3 (refactorisé)
Améliorations apportées
Fonctions refactorisées (complexité > 6)
1. get_ping_from_temp_log() : 14 → 3
- Divisée en 5 fonctions d'aide
- Chaque fonction fait une seule chose
- Plus facile à tester et déboguer
2. set_stats_ping() : 12 → 3
- Divisée en 3 fonctions d'aide
- Structure PingStats pour clarifier
- Logique de calcul séparée
Avantages (comme vu en cours)
- Code plus lisible
- Maintenance plus simple (si un developpeur veut changer une donnée, il peut le faire à un seul endroit pour que tout puisse changer. Cela évite aussi de copier coller des bouts de codes )
- Tests unitaires possibles
- Réutilisabilité des fonctions d'aide