From 21ce5c8d88624ef1404c21f07fd9b40fef544f42 Mon Sep 17 00:00:00 2001 From: Silvio <16336508-silvioaissi43@users.noreply.replit.com> Date: Thu, 18 Sep 2025 20:37:27 +0000 Subject: [PATCH] =?UTF-8?q?Correction=20fichier=20md=20oubli=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- complexite_cyclo_1.md | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/complexite_cyclo_1.md b/complexite_cyclo_1.md index e69de29..81ad3ff 100644 --- a/complexite_cyclo_1.md +++ b/complexite_cyclo_1.md @@ -0,0 +1,48 @@ +# Complexité Cyclomatique - Projet ping-report + +## ping-report.c +- `main()` : **4** + +## daemon.c +- `create_daemon()` : **4** +- `ping_request()` : **2** +- `send_check()` : **3** +- `check_keep_working()` : **4** +- `daemon_work()` : **3** + +## db-sqlite.c +- `db_connect()` : **1** +- `db_disconnect()` : **1** +- `insert_hourly_report()` : **1** + +## utils.c +- `write_pid_file()` : **2** +- `remove_file()` : **1** + +## stats.c +- `get_ping_from_temp_log()` : **14** → **3** (refactorisé) +- `write_ping_log()` : **4** +- `set_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 + +### Le calcul de la complexité de chaque fonction modifiée a été mise en commentaire directement.