2010-03-22 5 views
11

Wir haben mehrere Flex-Projekte, von denen eines gerade umgestaltet wurde. Ich frage mich, ob es eine einfache Möglichkeit gibt zu sagen, welche Klassen und Funktionen (falls überhaupt) nicht mehr benutzt werden?Gibt es eine Möglichkeit, in Flex Builder nicht referenzierten Code zu finden?

Ich habe festgestellt, dass wir definitiv ungenutzten Code haben, da die Ausführung von ASDoc im gesamten Projekt einige Kompilierungsfehler meldet, die von Flex Builder nicht gemeldet werden (was bedeutet, dass diese Klassen nicht mehr verwendet werden)). Ich hoffe, eine robustere und vollständigere Methode zu finden, und vorzugsweise eine, die auch auf Funktionsebene funktionieren kann.

Antwort

12

Meine hässliche Hack:

Mit dem swfdump Werkzeug aus SWFtools, werfen den Abbau von (alle) Ihre swf (e):

swfdump -a my.swf > dump 

eine Liste aller Klassen Get:

find . -name "*.as" -exec basename {} .as \; > classes 
find . -name "*.mxml" -exec basename {} .mxml \; >> classes 

Anwenden einer Liste in die andere:

for class in $(<classes) ; do grep -q \\\<$class\\\> dump || echo $class ; done 

Ich mache das unter Windows mit Cygwin.

+0

Ich habe noch nie zuvor SWFTools angeschaut. Wünschte, ich hätte ... +1 –

+0

gibt es eine Möglichkeit, in Datei statt Echo zu schreiben? –

+0

@MauritsdeBoer: Leiten Sie die Ausgabe wie bei jedem Befehl in eine Datei um. –

0

Dies beantwortet Ihre Frage nicht wirklich, aber Sie können die Verweise auf eine einzelne Klasse, Variable oder Funktion finden, indem Sie sie (im Code-Editor) auswählen und drücken: Strg + Umschalt + G. Ich denke, das können Sie im Moment aus dem Flex/Flash Builder herausholen.

+0

Ich weiß darüber. Es hilft nicht, dass einige der unbenutzten Dateien sich gegenseitig referenzieren - sie werden nur nicht von der Anwendung selbst referenziert. –

3

Überprüfen Sie das Flex PMD Werkzeug. Es wurde vor kurzem in der Beta veröffentlicht, aber wir verwenden es seit ein paar Wochen bei der Arbeit, und es scheint ziemlich gut zu funktionieren.

+0

Sieht gut aus, danke für den Link :). –

+0

@rhtx: Leider scheint Flex PMD nicht referenzierten Code zu finden - es scheint nur Regeln zu haben, um nicht verwendete private Funktionen zu finden. Es sei denn, ich verpasse etwas? –

1

Hinweis: Das im Flex SDK enthaltene Tool swfdump funktioniert anstelle der SWFTools-Version im oben aufgeführten Bash-Skript.

Verwandte Themen