diff --git a/compterendu.md b/compterendu.md index ec2bf7d..80acf36 100644 --- a/compterendu.md +++ b/compterendu.md @@ -36,7 +36,9 @@ Complexité Cyclomatique : 25 ### Après modification #### Détails ##### get_ping_from_temp_log() -Complexité Cyclomatique : ? +Complexité Cyclomatique : 5 +##### find_ping() (Nouvelle fonction pour diminuer la complexité de get_ping_from_temp_log()) +Complexité Cyclomatique : 8 ##### set_stats_ping() Complexité Cyclomatique : ? ## Fichier "utils.c" @@ -44,4 +46,4 @@ Complexité Cyclomatique : ? ##### write_pid_file() Complexité Cyclomatique : 2 ##### remove_file() -Complexité Cyclomatique : 1 \ No newline at end of file +Complexité Cyclomatique : 1 diff --git a/diagrammes/find_ping.drawio.svg b/diagrammes/find_ping.drawio.svg new file mode 100644 index 0000000..f980f8f --- /dev/null +++ b/diagrammes/find_ping.drawio.svg @@ -0,0 +1,4 @@ + + + +
while(getline(&read_line,&n,fd) != -1)
if(read_line == NULL)
find_ping()
Sortie
if(regexec(p_reg,read_line,nmatch,pmatch,0) == 0)
if(read_line != NULL)
if(read_line != NULL)
if(ping == NULL)
if(read_line != NULL)
if(read_line != NULL)
Oui                                         Non
Oui                                         Non
Oui                                  Non
Oui                                                       Non
Oui                                             Non
Oui                                             Non
Oui                                             Non
Oui                                 Non
\ No newline at end of file diff --git a/diagrammes/get_ping_from_temp_log-OPTIMIZED.drawio.svg b/diagrammes/get_ping_from_temp_log-OPTIMIZED.drawio.svg new file mode 100644 index 0000000..273ab35 --- /dev/null +++ b/diagrammes/get_ping_from_temp_log-OPTIMIZED.drawio.svg @@ -0,0 +1,4 @@ + + + +
if(p_reg == NULL)
if(fd == NULL)
if(regcomp(p_reg,"time=(.*) ms",REG_EXTENDED) != 0)
if(pmatch == NULL)
get_ping_from_temp_log()
Sortie
Oui                                         Non
Oui                                         Non
Oui                                         Non
Oui                                         Non
\ No newline at end of file diff --git a/ping-report/src/stats.c b/ping-report/src/stats.c index 9f509ed..c051e71 100644 --- a/ping-report/src/stats.c +++ b/ping-report/src/stats.c @@ -81,16 +81,16 @@ } /* -La fonction get_ping_from_temp_log avais une complexité cyclomatique de 15. +La fonction get_ping_from_temp_log avait une complexité cyclomatique de 15. -modifications: - ligne 51 et 53 (anciennement 54 et 56): - retirer la verification if, car peut importe ce qu'il se passe, p_reg ne peut pas être null, la fonction ce serait arretée - lignes 73,74 et 75 (anciennement 116, 117 et 118): - retirer encore du code mort, car la verification est innutil, avant de déplacer le while, read_line était forcemment nulll a ce moment. - Le while a été segmenter en une fonction find_ping() a part,qui prend en parametre ce dont il a besoin et retourne ping. +Modifications: + Ligne 51 et 53 (anciennement 54 et 56): + Retirer la verification if, car peut importe ce qu'il se passe, p_reg ne peut pas être null, la fonction ce serait arretée + Ligne 73,74 et 75 (anciennement 116, 117 et 118): + Retirer encore du code mort, car la verification est inutile, avant de déplacer le while, read_line était forcemment null à ce moment. + Le while a été segmenté en une fonction find_ping() à part, qui prend en paramètre ce dont il a besoin et retourne ping. -Tous ces changements on fait passer la complexité cyclomatique de get_ping_from_temp_log de 15, à 5. get_ping quand a lui est également à 5. +Tous ces changements on fait passer la complexité cyclomatique de get_ping_from_temp_log de 15, à 5. find_ping() quand a lui est également à 8. */ char* find_ping(char* read_line, size_t n, FILE* fd){