据我所知,Java有一些使用@NotNull / @Nullable的静态分析器。程序员通过为每个成员/函数/参数指定这些注释来明确表达他的意图,以便工具可以验证是否所有内容都是正确的,并且每个@Nullable-> @NotNull转换都是带有null检查的。对我来说,只指定@Nullable会更舒适,因此其他所有内容都可以像@NotNull一样处理,但这不是必需的。
我想知道是否有免费的类似Actionscript 3的工具?
我有FlashBuilder 4.5许可证,但除此之外,我宁愿不购买任何东西。我听说IntelliJ IDEA可能有这样的东西,但它仅适用于Ultimate Edition中的Actionscript,而该版本不免费:(
所以问题是:
1. 是否有适用于Actionscript 3的这种静态分析器? 2. 如果不是免费的,它会花费多少钱? 3. 除了“检查所有内容并将您的代码转换成混乱”之外,是否有其他解决方案来防止1009错误?
更新
没有给出完整的答案:(但是weltraumpirat的回答到目前为止是最好的。我考虑为可为空的函数使用命名约定:Try*,Find*,*OrNull,*IfAny等。名称变得更长,但可靠性更重要。谢谢weltraumpirat!赏金是你的,但我不会将答案标记为“已接受”,因为它不完整,我希望有一段时间会有人回答带有所需静态分析器链接的问题:)
init
方法之后,或在render
方法、游戏循环或事件触发操作的顶部。每个验证只包含几个简单的if语句,用于检查null
- 即使有很多这样的语句,也不会导致明显的减速效果。如果没有错误,try/catch块将不会产生任何成本 - 在这种情况下,它们不应该是您的首要关注点。 - weltraumpirat