2009-11-10 28 views
18

Ich brauche ein Tool, das ich ausführen kann, die mir eine Liste der nicht verwendeten Methoden, Variablen, Eigenschaften und Klassen zeigen wird. CSS-Klassen wären ein zusätzlicher Bonus.Tool, um alle nicht verwendeten Code zu finden

Ich habe gehört, FXCop kann dies tun? oder Ndepend oder sowas?

+0

Nicht ganz ein Duplikat, da Sie auch CSS wollen, aber: http://StackOverflow.com/Questions/65585/is-there-a-tool-for-finding-unreferenced-Functions-dead-obsolete-code-in -ac – user7116

+0

Und ich möchte nicht, dass es die Dinge auf der ganzen Linie ändert. Grundsätzlich möchte ich eine Liste von möglichen Problemen, wo ich eins nach dem anderen auswählen kann.Ich kann nicht einfach die gesamte Anwendung reparieren, mein Chef würde mich töten – PositiveGuy

+0

Ich würde gerne wissen, ob NDepend gibt Ihnen eine schöne Liste zuerst, bevor Sie Änderungen an Code über Code-Analyse anwenden. Wer kennt den Kopf, der ihn benutzt? – PositiveGuy

Antwort

20

Betrachten Sie ReSharper.

+3

+1 Definitiv R #, und sehen Sie ihre Funktion "Code Cleanup" zum Auffinden aller nicht verwendeten Code. –

+0

Ich habe R #, wusste aber nicht, dass es das könnte. Vielen Dank. – PositiveGuy

+0

Wenn Sie in R # bearbeiten, werden alle ausgegrauten Methoden/Felder/Eigenschaften nicht verwendet. –

5

Sie können ReSharper verwenden, um nicht verwendeten Code und Dust-Me Selectors zu finden, um nicht verwendetes CSS zu finden.

+1

+1 für Staub-Me-Selektoren –

+0

Downvote? Por que? –

8

Code Analysis in VSTS werden während des Erstellungsprozesses Warnungen darüber generieren. Sie können es einrichten, um Warnungen als Fehler zu behandeln.

2

hat auch andere Regeln, um nicht verwendeten Code zu finden.

+0

Ich hatte noch nie davon gehört, also dachte ich, ich würde es herunterladen ... Es sieht ziemlich gut aus! –

+3

Ich habe Gendarme benutzt. Es ist großartig, unbenutzte * Variablen * zu finden, hilft aber nicht wirklich mit ungenutzten Methoden oder Klassen. – dan04

5

Das Tool NDepend kann helfen, nicht verwendeten Code in einer .NET-Codebasis zu finden. Haftungsausschluss: Ich bin einer der Entwickler dieses Tools.

NDepend schlägt vor, Code Rule over LINQ Query (CQLinq) zu schreiben. Rund 200 default code rules vorgeschlagen werden, von denen 3 bis Erkennung nicht verwendeten/toter Code gewidmet werden:

NDepend in Visual Studio integriert ist, so können diese Regeln checked/browsed/edited right inside the IDE sein. Das Tool kann auch in Ihren CI-Prozess integriert werden und es kann reports erstellen, das Regeln verletzt und Täter-Code-Elemente zeigt.

Wenn Sie diese 3 Links oben auf den Quellcode dieser Regeln klicken, werden Sie feststellen, dass die Typen und Methoden ein wenig komplex sind. Dies liegt daran, dass sie nicht nur unbenutzte Typen und Methoden, sondern auch Typen und Methoden, die durch nicht verwendete tote Typen und Methoden (rekursiv) verwendet wurden, nur nur erkennen.

Dies ist statische Analyse, damit das Präfix Potenziell in den Regelnamen. Wenn ein Codeelement nur durch Reflexion verwendet wird, können diese Regeln es als nicht verwendet betrachten, was nicht der Fall ist.

Zusätzlich zu diesen drei Regeln würde ich empfehlen, die Codeabdeckung durch Tests zu messen und eine vollständige Abdeckung anzustreben. Oft wird der Code, der nicht durch Tests abgedeckt werden kann, tatsächlich unbenutzt/tot Code, der sicher verworfen werden kann. Dies ist besonders nützlich bei komplexen Algorithmen, bei denen nicht klar ist, ob ein Codezweig erreichbar ist oder nicht.

Verwandte Themen