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