TD2_DEV51_Qualite_Algo/compte_rendu_genique_vallat.md
2024-10-14 22:23:53 +02:00

1.7 KiB

COMPTE RENDU

Fait par VALLAT Guillaume et GENIQUE Florian

Calculer la complexité cyclomatique du code donnée

1. daemon.c :

  • create_daemon() : 4 complexité cyclomatique

  • ping_request() : 2 complexité cyclomatique

  • send_check() : 4 complexité cyclomatique

  • check_keep_working() : 4 complexité cyclomatique

  • daemon_work() : 3 complexité cyclomatique

2. db-sqlite.c :

  • db_connect() : 1 complexité cyclomatique

  • db_disconnect() : 1 complexité cyclomatique

  • insert_hourly_report(): 1 complexité cyclomatique

3. ping-report.c :

  • main() : 4 complexité cyclomatique

4. stats.C :

  • get_ping_from_temp_log() : 13 complexité cyclomatique

  • write_ping_log() : 4 complexité cyclomatiquue

  • set_stats_ping() : 23 complexité cyclomatique

5. utils.c :

  • write_pid_file() : 2 complexité cyclomatique

  • remove_file() : 1 complexité cyclomatique

DIAGRAMMES

  • fonction : set_stats_ping :

diagramme1

OPTIMISATION DU CODE DE LA FONCTION get_ping_from_temp_log() :

ligne de 127 à 130 mis en commentaire

les if :

  • if(p_reg == NULL)
  • if(fd == NULL)
  • if(regcomp(p_reg,"time=(.*) ms",REG_EXTENDED) != 0)
  • if(pmatch == NULL)

on été décaler dans une fonction a part appelé ifFunct(FILE* fd, regex_t p_reg, regmatch_t pmatch) et nous retourne le ping ce qui de la fonction get_ping_from_temp_log 5 de compléxité cyclomatique. Et également 5 de compléxité cyclomatique pour la nouvelle fonction crée.

NOUVEAU DIAGRAMMES

  • fonction get_ping_from_temp_log optimisé :

diagramme2

  • fonction ifFunct :

diagramme3