2017-11-27 425 views
6

Używanie prywatnych zmiennych w buforowanych klasach .net jest receptą na dziwne i często trudne do debugowania problemy.Najlepszy sposób na automatyczne wykrywanie prywatnych zmiennych w buforowanych klasach .net?

Patrz na przykład: http://code-smart.org.uk/information/beware-asp-net-mvc-actionfilterattributes-are-cached-between-requests/

Można LEED do sesji mixups/zamiana! Zwykle te problemy są obwiniane za niepoprawne ustawienie wyjściowej pamięci podręcznej.

Może (powinien?) Resharper wykryć te problemy? A może jest inny sposób?

+0

więc trzeba wiedzieć, kiedy klasa pochodzi od 'Attribute' ma zmienne instancji? Moje pierwsze przypuszczenie byłoby "tak", R # Structural Find and Replace może zdecydowanie znaleźć takie rzeczy. – AakashM

+0

Nie, chciałbym otrzymywać ostrzeżenie za każdym razem, gdy używam zmiennej prywatnej w klasie, która będzie buforowana po wdrożeniu. –

+0

Czy istnieje algorytmiczny sposób informowania narzędzia, które klasy będą buforowane? Jeśli nie, po prostu musisz sprawdzić każdą klasę, o której wiesz, prawda? – AakashM

Odpowiedz

1

To brzmi jak coś, co może być w stanie zrobić nDepend, ma funkcję pisania linq do analizy kodu.

Oto kilka szczegółów na temat CLinq: https://www.ndepend.com/default-rules/webframe.html

Może być również stosowany jako część swojej zamkniętym budowy rurociągu: https://www.ndepend.com/docs/ndepend-console

+0

Napisałem bardzo krótkie intro do nDepend a while back: http://www.developertipoftheday.com/2014/05/ndepend-code-analysis-super-tool.html, ale chciałbym przejść do strony głównej, ale aby uzyskać pełny smak funkcji sprawdź na stronie głównej. –

+0

Jak to jest, że -1, czy nDepend nie jest do tego wykonalne lub szuka bardziej szczegółowej odpowiedzi? –