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:
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
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
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