Existen muchas herramientas que podemos usar para mostrar las dependencias entre módulos, archivos de código fuente, clases o funciones, etc. Pero no parece haber ninguna herramienta para analizar las dependencias entre las variables. Dado un gráfico de dependencia de variables sería útil para comprender y refactorizar el código.¿Hay alguna herramienta que pueda analizar las dependencias entre variables en los programas de C#?
Por ejemplo, si la variable B sólo se utiliza para calcular el valor de la variable C de la siguiente manera:
b = a;
....
c = b + 2;
tal vez podríamos eliminar la variable b para hacer el código más legible:
....
c = a + 2;
Este tipo de refrigerio puede ser difícil si el código es muy complejo o tiene muchos malos olores.
¿Hay alguna herramienta que pueda analizar las dependencias entre variables en C# u otros lenguajes de programación?
Por "variable" ¿quiere decir "variable local", específicamente, o te refieres parámetro local, formal, matriz elemento, campo y puntero desreferenciado? ¿Le preocupan las variables externas de lambdas? Parámetros de Lambda? ¿Locales en lambdas? ¿Localizadores erguidos en bloques de iterador? Analizando las relaciones entre ellos Las variables arbitrarias pueden ser bastante complicadas, mucho más complicadas que simplemente locales, especialmente cuando se considera el alias variable a través de los parámetros "ref". –
Eric Lippert: cuantos más tipos de "variables" puedan analizarse, más fácil será el trabajo de refactorización del código. Descubrí que generalmente hay muchas dependencias complejas cuando trato de refactorizar el código heredado. – askalee