DrivenMetrics es una herramienta de línea de comandos de código abierto C#. Las funcionalidades principales están aisladas del cliente de consola de la línea de comandos como una biblioteca (el proyecto principal está disponible here).
Incluso si es bastante simple, puede ajustarse a su necesidad: es gratis, cuenta el número de líneas y calcula la complejidad ciclomática (cantidad de posibles rutas de código) de los métodos.
Esto se realiza a través del análisis directo de la IL gracias a Mono.Cecil (la misma biblioteca de la que depende NDepend). Esto permite que el análisis que se realiza en montajes construidos a partir de código escrito en C#, VB.Net, ...
- El proyecto ha sido anunciado here.
- El código fuente es disponible en github.
- Una versión en paquete también es available.
- Funciona tanto en Windows como en Mono.
ACTUALIZACIÓN:
Otra opción sería la increíble Gendarme, una herramienta de análisis estático del proyecto Mono .
Como muestra de uso, el siguiente código muestra la complejidad ciclomática de cada método en un ensamblaje.
ModuleDefinition module = ModuleDefinition.ReadModule(fullPathToTheAssembly);
foreach (var type in module.Types)
{
foreach (var me in type.Methods)
{
if (!me.HasBody || me.IsGeneratedCode() || me.IsCompilerControlled)
continue;
var r = AvoidComplexMethodsRule.GetCyclomaticComplexity(me);
Console.WriteLine("{0}: {1}", me.ToString(), r);
}
}
- El proyecto se describe here
- El código fuente está disponible en github
- versiones empaquetadas son también available
- Funciona tanto en Windows y Mono
¿Alguna vez ha encontrado una biblioteca? ¿O cómo has resuelto este problema? – RoflcoptrException
No, esto fue parte de una idea de programa que tenía, pero desafortunadamente mi tiempo actual no me permite continuar y crear la aplicación. Por lo tanto, tampoco investigué ninguna búsqueda adicional de una biblioteca apropiada – Juri
ok gracias. entonces tengo que buscar más;) – RoflcoptrException