2009-09-24 23 views
6

Ich habe eine .Net (C#) Lösung. Die Lösung enthält mehrere Projekte. Die Projekte wurden nicht von mir umgesetzt. Es ist kein Rahmen, es bedeutet, dass ich die Anzahl der öffentlichen Methoden/Eigenschaften so gering wie möglich halten muss. Meine Aufgabe besteht darin, Methoden und Eigenschaften zu identifizieren, die nicht verwendet werden, aber in den Projekten existieren. Nun, ich kann private Methoden finden, die nicht mit R # verwendet werden. Aber es ist völlig unklar, wie public Methoden/Eigenschaften zu finden sind, die nicht verwendet werden.So finden Sie ungenutzte öffentliche Methoden/Eigenschaften

Ich habe gehört, dass sie NDepend Werkzeug haben, aber es ist nicht sehr einfaches Werkzeug, ist es.

Also, die Frage ist: Könnten Sie bitte auf ein Werkzeug zeigen, mit dem Methoden identifiziert werden können, die nicht in einer Lösung verwendet werden. Es ist in Ordnung, wenn ich ein Befehlszeilenwerkzeug oder etwas ziemlich einfaches habe.

UPD: Ich habe versucht, Probe NDepend zu verwenden.

Nun, zunächst scheint es möglich, öffentliche Methoden zu sehen (Eigenschaften werden als get_ set_ Methoden dargestellt), die in dieser bestimmten Assembly nicht verwendet werden.

Aber NDepend erkennt nicht, wenn die öffentliche Methode von einem anderen Projekt/Assembly verwendet wird, das ein Teil der Lösung ist, und zeigt die Methode als nicht verwendet an. Aber das ist nicht wahr.

UPD2: mcintyre321 empfohlen, R # zu verwenden. Bitte lesen Sie einen ersten Kommentar unten.

+2

Stellen Sie sicher, dass das, was Sie entfernen möchten, nicht über Reflection aufgerufen wird! – RichardOD

+0

Danke für den Hinweis. Ich bin mir sicher, dass Reflexion nicht in meiner Lösung verwendet wird. Aber Webservices sind: - \ – Antipod

+0

Ich habe den Bildlink entfernt, wie es scheint tot zu sein und war auf eine Non https URL – Liam

Antwort

7

Wenn Sie die rechenintensive Analyse in ReSharper (5.0 und höher) aktivieren, werden sie für Sie markiert. Dies schließt öffentliche Methoden ein.

+0

Vielen Dank für den Kommentar. Leider hat es nicht geholfen. Am Ende zeigen R # nur, dass einige css und asxc Pfade nicht gefunden/gültig waren. Aber es sagte nichts über öffentliche Methoden/Eigenschaften. – Antipod

+0

Danke für das Bild. Die Liste "Fehler in der Lösung" hat keine Fehler und genau das hatte ich. Jetzt verstehe ich, was Sie meinten und denke, dass es helfen kann. Ist es möglich, mit R # eine Liste mit allen unbenutzten Methoden in der Lösung in einem "Fenster" zu bekommen, zB in der Fehlerliste? – Antipod

+0

Sie können den Prüfschweregrad in R # -Optionen so konfigurieren, dass sie als Warnungen oder Fehler angezeigt werden. – mcintyre321

2

Heck Ich habe es alte Schule getan. Ich sage nur Methoden aus, von denen ich nicht glaube, dass sie benutzt und gebaut werden. Wenn ich einen Fehler bekomme, dann lasse ich es dort stehen.

+0

Aber es ist kein guter Weg, um das Problem zu lösen, wenn Sie ziemlich viele Klassen haben. In diesem Fall ist es eine Menge Arbeit. Wir sind Programmierer hier und müssen darüber nachdenken, wie wir den Prozess automatisieren können. Vielen Dank. – Antipod

+0

Auch erhalten Sie nur Fehler, wenn die Methode direkt referenziert wird, was nicht immer der Fall ist, z. für Event-Abonnenten in einem IoC-Container – armannvg

Verwandte Themen