Esistono molti strumenti che è possibile utilizzare per mostrare le dipendenze tra moduli, file di codice sorgente, classi o funzioni ecc. Ma non sembra esserci alcuno strumento per analizzare le dipendenze tra le variabili. Dato un grafico di dipendenza delle variabili sarebbe utile per comprendere e refactoring del codice.C'è qualche strumento in grado di analizzare le dipendenze tra le variabili nei programmi C#?
Ad esempio, se la variabile b viene utilizzato solo per il calcolo del valore della variabile c come segue:
b = a;
....
c = b + 2;
Forse potremmo rimuovere variabile b per rendere il codice più leggibile:
....
c = a + 2;
Questo tipo di restauro può essere difficile se il codice è molto complesso o ha molti cattivi odori.
C'è uno strumento in grado di analizzare le dipendenze tra le variabili in C# o altri linguaggi di programmazione?
Con "variabile" vuol dire "variabile locale" specificamente, o vuoi dire parametro locale, formale, un array puntatore elemento, campo e dereferenziato? Sei preoccupato delle variabili esterne dei lambda Parametri Lambda? Locali in lambda? Locale localizzato in blocchi iteratori? Analizzando le relazioni tra it variabili arbitrarie possono essere piuttosto complicate, molto più complicate delle mere persone del luogo, in particolare quando si considera l'aliasing variabile tramite i parametri "ref". –
Eric Lippert: più tipi di "variabili" possono essere analizzati, più facile sarà il lavoro di rifacimento del codice. Ho trovato che ci sono solitamente molte dipendenze complesse quando ho provato a rifattorizzare il codice legacy. – askalee