2011-11-29 13 views
8

Mamy ponad 10 lat projekt strony internetowej ASP.NET, z dużą ilością kontroli użytkowników niewykorzystane/starszych i stron.Identyfikacja niewykorzystane zajęcia/Kontrola/pages

Czy istnieje narzędzie, które może pomóc w procesie identyfikacji tych elementów rozwiązania, więc mogliśmy byłaby je?

wiem, że problem jest skomplikowany, ponieważ nie wszystkie typy są wymienione jako typy, które mogą rozpoznać kompilator/narzędzie. na przykład Obiekty tworzone przez odbicie są tworzone przy użyciu ciągu znaków reprezentującego nazwę klasy. Ponadto strony asp.net zazwyczaj nie są przywoływane jako typy, ale jako ciągi identyfikujące stronę w znacznikach.

nadal wydaje się jakby ktoś stworzył narzędzie, które obsługuje te przypadki i tworzy listę kandydatów niewykorzystanych zajęć/stron/użytkownik kontroluje

+1

co użyciu ReSharper znajdzie niewykorzystane metod w .cs stronie również ... –

+0

Resharper jest dobry w znajdowaniu nieużywane metod, ale nie na identifing stron i regulacji, które zostały niewykorzystane. –

Odpowiedz

2

może użyć tego wyrażenia regularnego do znalezienia nieużywane zarejestrowane kontrole

<%@\s*Register\s+TagPrefix\s*=\s*"(?<tagprefix>[^"]+)"\s+TagName\s*=\s*"(?<tagname>[^"]+)"\s+Src\s*=\s*"[^"]+"\s*%>(?!.*?\k<tagprefix>:\k<tagname>\s+) 

użyłem powergrep uruchomić ten regex. Pole wyboru "Dot matches newline" powinno być włączone, aby działało poprawnie.

+0

Wygląda interesująco. Czy możesz opisać, co robi? –

+0

Pewnie. Pierwsza część wygląda na szablonie kontroli rejestracji <% @ Register TagPrefix = "Myprefix" TagName = "MyTag" src = "~/mypath.ascx" %> i zbiera tagprefix zmienna w wymienionych grupach ** (? blabla>) * *. Druga część regex używa negatywnego uprzedzenia ** (?! Blabla) ** Możemy więc przeczytać to wyrażenie jako: znajdź wszystkie kontrole kontrolne, które nie będą później użyte w tekście. Nasz projekt ma również ponad 10 lat :) – vicneanschi

+0

Użyłem SublimeText do wykonania tego. Musiałem dodać flagę wstawianą na samym początku linii prostych regex do punktów dopasowanych: '(? S)'. Zobacz http://stackoverflow.com/questions/11992596/regex-in-sublime-text-match-any-character-including-nelines –

2

ReSharper to narzędzie refactoring, które mogłyby pomóc w identyfikacji chmury nieużywanych klas i metody. Może również usunąć je bezpiecznie. Pozwala na usunięcie metody lub klasy i dostosowanie wszystkich jej zastosowań. Zobacz: Safe delete

Posiada również odpowiednie wsparcie ASP.NET. Zobacz: ASP.NET support

+0

Dzięki - korzystamy już z programu Resharper, ale nie sądzę, że potrafi zidentyfikować nieużywane strony i elementy sterujące użytkownika. –

+0

Czy próbowałeś już korzystać z [find usages] (http://www.jetbrains.com/resharper/webhelp/Navigation_and_Search__Finding_Usages.html). Jestem pewien, że możesz go użyć, aby znaleźć co najmniej nieużywane elementy sterowania użytkownika. –

+0

tak - jest to możliwe w przypadku pojedynczych obszarów nazw i metod, typów w trybie ręcznym dla każdego przypadku, ale mam nadzieję, że znajdę narzędzie, które może wygenerować szeroki raport o rozwiązaniu –

Powiązane problemy