Refactoring en C# con NDepend

Una de las cosas que me gusta mucho hacer en proyectos legacy es el refactoring en el código existente, en este proceso debemos ser cuidadosos de no afectar lo que ya esta en producción. En un escenario ideal tenemos pruebas unitarias y pruebas automatizadas para validar la calidad de nuestro proyecto.

Existen ya muchas herramientas que nos ayudan con este refactoring como CodeMaid, Resharper, y hasta el mismo Visual Studio. En este articulo quiero hablar un poco de NDepend

NDepend tiene muchas herramientas para analizar archivos, proyectos y soluciones completas, Nos mostrará un reporte donde podemos ver los issues y reglas que debemos tener en cuenta.

Ejemplos de los resultados:

Report NDepend

Podemos analizar los problemas reportados y actualizar nuestro código para qué se ajuste y se eliminen los issues. Aunque esta es la herramienta principal de NDepend quiero mostrarles las Power tools por que tiene muchas funcionalidades útiles que son muy propias de NDepend.

Vamos a Tools -> Start Power Tools y tenemos una lista bastante interesante de opciones para usar

NDepend Power Tools

Todas las herramientas son bastante útiles pero quiero mostrarles las que mas me gustan.

Search for duplicate code

Esta herramienta nos ayuda a detectar posible código duplicado que podemos encapsular en funciones

NDepende code duplicated

Find Potential Death Code

Esta herramientas son ayuda a identificar código qué nuca se usa, como clases que nunca son utilizadas, métodos que nunca son llamados, etc..

Detect Assemblies Versionning and Deployment Issues

Con esta herramienta podemos detectar archivos de ensamblado que estén diferentes en cuanto a sus versiones para evitar problemas al momento del despliegue.

You can try NDepend for 14 days: https://www.ndepend.com/download