Recentemente ho iniziato a utilizzare SourceMonitor per rivedere il mio (e altri) codice. Pur comprendendo altri parametri giudicati dallo strumento, non so come calcola la complessità del codice. Come in, che tutti i parametri considera di leggere su un numero di complessità?Quali sono i parametri utilizzati per calcolare la complessità in SourceMonitor?
risposta
Trovato in Aiuto -> Argomenti della Guida -> Spiegazione delle metriche lingua -> C# -> Max Metodo Complessità -> (c'è un hyperling) Complessità Valore.
Source Monitor Complexity Value http://tinypic.com/r/10yi0kp/6
È difficile sapere senza che vengano dichiarati, ma una delle misure più comuni è cyclomatic complexity - una misura del numero di percorsi attraverso il codice. Un semplice metodo procedurale dall'alto verso il basso ha la complessità 1, con tutti i loop/branch/catches ecc. L'idea è che se questo aumenta troppo, il tuo metodo sta facendo troppo e dovrebbe essere rifattorizzato in alcuni metodi più piccoli e più mirati.
Modifica; from here:
È stato aggiunto un parser per C#. La maggior parte delle metriche sono simili a C++ e Java. La differenza principale è come viene determinato il metodo "più grande". Invece di identificare il metodo con la maggior parte delle istruzioni, per C# viene trovato il metodo più complesso per ogni file. La misurazione della complessità è simile alla complessità ciclomatica - un conteggio dei possibili percorsi attraverso il codice.
(enfasi mia), quindi sembra che abbiano una variante leggermente modificata di CC normale. Solo loro possono dire quello che hanno fatto di diverso; p