Flex纯净代码 Flex Code with Zero Warning

04 Flex Builder 的“Problems”view 展示了所有的Error及Warning,但下面两种Warning我个人认为是不应该warn的:

1. Warning: 1084: var 'x' will be scoped to the default namespace: X: internal. It will not be visible outside of this package

当你的Variable scope为(default)时,以上Warning会出现。按照AS3的语言参考,(default)是完全合法的scope.

2. Warning: 3596: Duplicate variable definition.

如果你的function中进行两个并列的for loop且它们的counter variable同名(如'i'), 将有如上的警告。这是AS3语言的缺陷,新版本的ActionScript也许会追随Java/C#/C++而使用更加细致(fine-grained)的scope - 我试图去掉所有的duplicate variable definition, 但我发现这样做降低了代码的可读性,不应该因为AS3的设计缺陷而盲目迎合。

除了上面这两种Warnings, 其它的还算相当有用。去其糟粕,我们只需要在project的Flex compiler arguments里面添加:

-warn-missing-namespace-decl=false -warn-duplicate-variable-def=false

这样“Problems”view 里面就只显示有用的Warnings了。

 

修改FLEX_HOME/frameworks/flex-config.xml

修改后使用ANT进行build也不会有Warning了:

<warn-missing-namespace-decl>false</warn-missing-namespace-decl>

<warn-duplicate-variable-def>false</warn-duplicate-variable-def>