2009-09-24 12 views
6

Mam rozwiązanie .Net (C#). Rozwiązanie zawiera kilka projektów. Projekty realizowane były nie przeze mnie. To nie jest framework, to znaczy, że potrzebuję mniejszej ilości publicznych metod/właściwości jak najmniej. Moim zadaniem jest zidentyfikowanie metod i właściwości, które nie są używane, ale istnieją w projektach. Cóż, mogę znaleźć prywatne metody, które nie są używane za pomocą R #. Ale zupełnie nie jest jasne, jak znaleźć metody/właściwości, które nie są używane.Jak łatwo znaleźć nieużywane publiczne metody/właściwości

Słyszałem, że mają narzędzie NDepend, ale nie jest to bardzo proste narzędzie.

Pytanie brzmi: czy można wskazać narzędzie, które można wykorzystać do identyfikacji metod, które nie są używane w rozwiązaniu. Jest w porządku, że mam narzędzie wiersza poleceń lub coś całkiem prostego.

UPD: Próbowałem użyć wersji próbnej NDepend.

Przede wszystkim wydaje się, że można zobaczyć publiczne metody (właściwości są reprezentowane jako metody get_ set_), które nie są używane w tym konkretnym zespole.

Ale NDepend nie rozpoznaje, czy metoda publiczna jest używana z innego projektu/zespołu, który jest częścią rozwiązania i pokazuje metodę jako nieużywaną. Ale to nie jest prawda.

UPD2: mcintyre321 zaleca się używanie R #. Przeczytaj pierwszy komentarz poniżej.

+2

Upewnij się, że to, co postanowisz usunąć, nie będzie wywoływane przez Reflection! – RichardOD

+0

Dziękuję za notatkę. Jestem pewien, że w moim rozwiązaniu nie ma refleksji. Ale usługi sieciowe to: - \ – Antipod

+0

Usunąłem łącze do obrazu, ponieważ wydaje się, że jest martwe i przekierowywano go do adresu URL strony https – Liam

Odpowiedz

7

Po włączeniu analizy całego rozwiązania w programie ReSharper (wersja 5.0 i nowsze) zostanie ona oznaczona flagą. Obejmuje to metody publiczne.

+0

Dziękuję za komentarz. Niestety, to nie pomogło. Na końcu R # pokazuje tylko, że niektóre ścieżki css i asxc nie zostały znalezione/poprawne. Ale nie powiedział nic na temat publicznych metod/właściwości. – Antipod

+0

Dziękuję za zdjęcie. Lista "Błędy w rozwiązaniu" nie zawiera błędów i właśnie to miałem. Teraz rozumiem, co miałeś na myśli i myślisz, że to może pomóc. Czy możliwe jest uzyskanie listy z wszystkimi nieużywanymi metodami w rozwiązaniu w jednym "oknie" za pomocą R #, na przykład na liście błędów? – Antipod

+0

Możesz skonfigurować intensywność inspekcji w opcjach R #, aby wyświetlały się jako ostrzeżenia lub błędy. – mcintyre321

2

Heck Zrobiłem to stara szkoła. Po prostu komentuję metody, których nie myślę, że są używane i budowane. Jeśli pojawi się błąd, zostawiam go tam.

+0

Nie jest to jednak dobry sposób na rozwiązanie problemu, jeśli masz dość dużo zajęć. W tym przypadku jest to dużo pracy. Jesteśmy programistami i musimy zastanowić się, jak zautomatyzować proces. Dziękuję. – Antipod

+0

Otrzymujesz również błędy tylko wtedy, gdy metoda jest bezpośrednio przywoływana, co nie zawsze ma miejsce, np. dla subskrybentów zdarzeń w kontenerze IoC – armannvg