2010-03-22 5 views
11

Abbiamo diversi progetti Flex, uno dei quali è stato appena refactored. Mi chiedo se c'è un modo semplice per dire quali classi e funzioni (se ce ne sono) non vengono più utilizzate?C'è un modo per trovare codice senza riferimento in Flex Builder?

Ho scoperto che abbiamo sicuramente un codice inutilizzato, perché l'esecuzione di ASDoc sull'intero progetto riporta alcuni errori di compilazione che non vengono segnalati da Flex Builder (il che implica che tali classi non vengono più utilizzate). Spero di trovare un metodo più robusto e completo, e preferibilmente uno che possa funzionare anche a livello di funzione.

risposta

12

mio brutto hack:

Utilizzando lo strumento swfdump da SWFtools, scaricare lo smontaggio da (tutti) file SWF (s):

swfdump -a my.swf > dump 

ottenere un elenco di tutte le classi:

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

Applicare una lista all'altra:

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

Lo sto facendo su Windows, usando Cygwin.

+0

Non avevo mai guardato SWFTools prima. Vorrei avere ... +1 –

+0

c'è un modo per scrivere su file invece di echo? –

+0

@MauritsdeBoer: reindirizza l'output su un file, come per qualsiasi comando. –

0

Questo in realtà non risponde alla tua domanda ma puoi trovare i riferimenti a una singola classe, variabile o funzione selezionandola (nell'editor di codice) e premendo: Ctrl + Maiusc + G. Penso che questo sia ciò che puoi ottenere da Flex/Flash Builder al momento.

+0

Lo so. Non aiuta che alcuni dei file inutilizzati si facciano riferimento l'un l'altro - non sono semplicemente referenziati dall'applicazione stessa. –

3

Controllare lo strumento Flex PMD. È stato rilasciato di recente in versione beta, ma lo abbiamo utilizzato per alcune settimane, e sembra funzionare abbastanza bene.

+0

Sembra buono, grazie per il link :). –

+0

@rhtx: Sfortunatamente, Flex PMD non sembra trovare codice senza riferimento - sembra solo che abbia delle regole per trovare le funzioni private inutilizzate. A meno che mi manchi qualcosa? –

1

Nota, lo strumento swfdump incluso con Flex SDK funzionerà al posto della versione di SWFTools nello script bash elencato sopra.

Problemi correlati