Domanda

Uso SourceMonitor nel mio progetto da un paio d'anni per tenere traccia della complessità del codice sorgente e SLOC di base (compresi i commenti) per i componenti C # e C ++. Questi sono utilizzati per i rapporti esterni ai nostri clienti, quindi non sono in grado di discutere i loro meriti o la mancanza di.

Ho lavorato su uno strumento di analisi dei repository in grado di darmi una visione istantanea del progetto in qualsiasi data / ora. La fase successiva che voglio aggiungere è la memorizzazione nella cache delle metriche per un file e una revisione specifici.

So che SourceMonitor può essere copiato per consentirmi di fornire i file da testare ed estrarre le metriche dal file di risultati CSV o XML.

Esiste una libreria nativa in .NET che potrei usare per fare la stessa cosa, ad es. evitare di generare un processo esterno e analizzare i risultati.

Ho davvero bisogno solo delle seguenti metriche:

  • SLOC
  • Numero di righe di commento
  • Complessità del metodo più complesso
  • Nome del metodo più complesso

Devo eseguirlo su C # e sul normale codice C ++ .

Modifica: poiché ho già uno strumento che fornisce la GUI e i report che desidero, le metriche devono essere copiate o generate usando una libreria / API senza passaggi manuali. Idealmente, voglio ottenere metriche per un file / revisione specificato (piuttosto che un intero progetto) che la mia utility trascinerà automaticamente dal controllo versione.

NOTA: ho creato una taglia per questo ed ero in vacanza quando è scaduto ... la risposta NDepends NON mi soddisfa in quanto non guarda il codice sorgente ma l'assemblaggio stesso !!!

È stato utile?

Soluzione 5

Anche se non ho mai trovato un prodotto .NET in grado di analizzare C # e C ++ allo stesso modo, sono riuscito a trovare un prodotto di facile utilizzo, CODECOUNT che supporta quelle lingue e molte altre.

Ha una semplice riga di comando, a differenza di SourceMonitor che era in uso sul mio progetto fino a quando CODECOUNT lo ha sostituito.

Altri suggerimenti

Puoi trovare un codice open source per C # SLOC e commenti qui: http://code.google.com/p/projectpilot/source/browse/#svn/trunk/ProjectPilot.Framework/Metrics

Uno strumento affidabile basato sulla riga di comando per il calcolo di SLOC è Cloc . Supporta molte lingue tra cui C # e C ++. I formati di output supportati sono xml, csv e sql.

Questo non ti darà la complessità della funzione e non è programmabile (di cui sono a conoscenza), ma SlickEdit Gadgets per VS ha un ottimo strumento di report SLOC e puoi usarlo da Esplora soluzioni e ti fornirà un report dettagliato all'indirizzo il livello di file, progetto o soluzione.

Puoi ottenerlo qui: http://www.slickedit.com/content/view / 441

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top