Ich muss einen Legacy-Code aufräumen. Das Entfernen von nicht verwendetem Code ist ein wichtiger Schritt.Tool, das alle veralteten Klassen/Methoden auflistet, die nirgendwo mehr verwendet werden?
Gibt es ein Tool, das alle veralteten Code findet, entfernt alle Elemente, die irgendwo noch verwendet werden und gibt mir eine Liste von nicht verwendeten veralteten Code?
Für Bonuspunkte: Gibt es ein Werkzeug, das nicht verwendeten Code nicht veraltet Code finden kann?
Ich bin mir bewusst, dass dies nie perfekt, aber ich weiß, für die Fälle, die ich eine besondere Behandlung benötigen (wie in DB-Treiber oder Klassen, die über DI referenziert werden).
Vor vielen Jahren führten sie bei einem früheren Job unseren Code durch einen kommerziellen Obfuscator. Sie löschte Klassen und Methoden, die nicht verwendet wurden - was bedeutete, dass Sie auf alle Klassen oder Methoden hinweisen mussten, die durch Reflektion aufgerufen wurden oder API-Methoden waren, so dass sie nicht entfernt oder umbenannt wurden. –
Sind Sie an Methoden interessiert, die mit einem Annotatin @Deprecated versehen sind? Wenn dies der Fall ist, sollte das Schreiben eines Werkzeugs, das alle annotierten Methoden + den entsprechenden Klassennamen auflistet, ziemlich trivial sein (mit Reflections). – helpermethod
@Helper: Das ist nur 1% der Arbeit. Die schwierige Aufgabe besteht darin, alle Call-Sites zu finden. –