Complessità ciclomatica

plm (18850 points)
7 15 118
asked Nov 17, 2019 in HW4 obbligatorio by plm (18,850 points)
edited Nov 17, 2019 by plm

Non capisco perchè caricando il mio codice non ricevo il bonus complessità? Ovvero ricevo 7 di complessità sulla vm, ma sul mio computer con il comando radon cc -a -s --show-closures program.py ottengo uno score di 2.8, come faccio a regolarmi?

edit: Da quale valore di cc si ottiene il bonus?

431 views

2 Answers

Best answer
Christian (15220 points)
2 4 77
answered Nov 17, 2019 by Christian (15,220 points)
selected Nov 17, 2019 by plm
Ciao, probabilmente 2.8 è la tua complessità ciclomatica media.
La VM per il bonus intricatezza tiene conto della complessità più alta tra tutte quelle calcolate per ogni singolo metodo.

EDIT ESEMPIO:
Metodo 1: complessità 3
Metodo 2: complessità 4
Metodo 3: complessità 11

La complessità media sarà 6, mentre la VM terrà in considerazione 11 (metodo 3).
plm (18850 points)
7 15 118
commented Nov 17, 2019 by plm (18,850 points)
il bonus a che valore di cc viene dato?
Christian (15220 points)
2 4 77
commented Nov 17, 2019 by Christian (15,220 points)
Scusami, avevo commentato con una seconda risposta dopo aver visto l'edit
a
a.pietroluongo (11250 points)
15 38 131
commented Nov 17, 2019 by a.pietroluongo (11,250 points)
Non c'è un valore preciso..  Devi controllare la classifica..
Christian (15220 points)
2 4 77
answered Nov 17, 2019 by Christian (15,220 points)

Vedo che hai editato il post inserendo un altro quesito relativo a quale valore di cc avere per ottenere il bonus, è spiegato sulle REGOLE DEL CORSO: https://q2a.di.uniroma1.it/regole-fp1920 

Gli homework obbligatori forniscono dei punti bonus per gli esercizi che:

  • superano tutti i test
  • sono nel 1/3 più alto della classifica (tra quelli che hanno preso almeno 30) per le categorie:
    • maggior efficienza (minor tempo totale di esecuzione dei test): 2 punti
    • minor intricatezza (minor massima complessità ciclomatica delle funzioni): 2 punti
Quindi non esiste un valore fisso a partire dal quale ottenere il bonus, ma dipende da quanto sono stati bravi i colleghi angel
plm (18850 points)
7 15 118
commented Nov 17, 2019 by plm (18,850 points)
quindi io non riesco a prendere il bonus per 1 punto di cc apparentemente ahahhaahah, feels bad
Christian (15220 points)
2 4 77
commented Nov 17, 2019 by Christian (15,220 points)
Prova a vedere se riesci a rendere atomica qualche porzione di codice, senza ovviamente che ne risenta l'efficienza ;)
Antares (7770 points)
5 6 41
commented Nov 18, 2019 by Antares (7,770 points)
Prova a dividere il codice in più funzioni, di solito è sufficiente per diminuire l'intricatezza di un punnto.