Calcolo complessità ciclomatica / numero mccab

0
if field is blank or in form
print "enter again"
else
  if no credit and debit < 1000
  print "less amount"
  else
  print "accessed"
  end if
end if

Sono molto confuso nel calcolo della complessità ciclomatica. Per il programma di cui sopra, ottengo la risposta come 3, in quanto vi sono due condizioni e V (G) = P + 1 = 2 + 1 = 3. Ma la risposta è sbagliata.

    
posta user7943804 20.05.2017 - 05:30
fonte

1 risposta

2

Il calcolo di McCabe non è semplice come contare le dichiarazioni if e aggiungerne uno. Devi contare il numero di possibili percorsi attraverso il tuo codice.

Nel tuo esempio:

  • Il primo if contiene un or , quindi ci sono 3 modi in cui puoi passare quella gamba, (o entrambe le condizioni sono vere) .
  • Il secondo if contiene un and quindi ci sono 3 modi, (uno o entrambi i termini essendo falso), per passare attraverso else

I vari strumenti che possono essere utilizzati per calcolare McCabe spesso non sono d'accordo tra loro e gli strumenti che danno un McCabe per l'intero file sono fondamentalmente inutili in quanto daranno un valore esagerato se il file contiene molto codice. McCabe deve essere considerato solo in base alla funzione, ma puoi calcolare i valori massimo e medio per evidenziare i file che necessitano più attenzione.

    
risposta data 20.05.2017 - 07:38
fonte

Leggi altre domande sui tag