我们有几个Flex项目,其中一个刚刚被重构。我想知道是否有一种简单的方法来判断哪些类和函数(如果有的话)不再被使用了?
我发现我们肯定有一些未使用的代码,因为在整个项目中运行ASDoc会报告一些编译错误,这些错误不会被Flex Builder报告(暗示这些类不再被使用)。我希望找到一个更强大和完整的方法,最好是一个可以在功能级别工作的方法。
我们有几个Flex项目,其中一个刚刚被重构。我想知道是否有一种简单的方法来判断哪些类和函数(如果有的话)不再被使用了?
我发现我们肯定有一些未使用的代码,因为在整个项目中运行ASDoc会报告一些编译错误,这些错误不会被Flex Builder报告(暗示这些类不再被使用)。我希望找到一个更强大和完整的方法,最好是一个可以在功能级别工作的方法。
我丑陋的黑客:
使用 swfdump
来自的工具 SWFtools,从您的swf(全部)转储反汇编:
swfdump -a my.swf > dump
获取所有课程的列表:
find . -name "*.as" -exec basename {} .as \; > classes
find . -name "*.mxml" -exec basename {} .mxml \; >> classes
将一个列表应用于另一个:
for class in $(<classes) ; do grep -q \\\<$class\\\> dump || echo $class ; done
我在Windows上使用Cygwin执行此操作。
我丑陋的黑客:
使用 swfdump
来自的工具 SWFtools,从您的swf(全部)转储反汇编:
swfdump -a my.swf > dump
获取所有课程的列表:
find . -name "*.as" -exec basename {} .as \; > classes
find . -name "*.mxml" -exec basename {} .mxml \; >> classes
将一个列表应用于另一个:
for class in $(<classes) ; do grep -q \\\<$class\\\> dump || echo $class ; done
我在Windows上使用Cygwin执行此操作。
看看 Flex PMD 工具。它最近在测试版中发布,但我们已经在工作中使用了几个星期,它看起来效果非常好。
请注意,Flex SDK附带的swfdump工具将代替上面列出的bash脚本中的SWFTools版本。
这并没有真正回答你的问题,但你可以通过选择它(在代码编辑器中)并按下Ctrl + Shift + G来找到对单个类,变量或函数的引用。我认为这是您目前可以从Flex / Flash Builder中获得的。