NullAway 是 Uber 开源的一款帮助你清除 Java 代码中的 NullPointerException(NPE)的工具,快速且实用。NullAway 类似于 Kotlin 和 Swift 语言中的基于类型的可空性检查,能显着提高开发人员的生产力,同时也满足高要求的安全检查需求。
要使用 NullAway,你必须先在代码(字段,方法参数或返回值为 null)中添加@Nullable注释。给定这些注释,NullAway 执行本地的一系列一致性检查,以确保在代码中取消引用的任何指针不能为空。
NullAway 很快。它被构建为 Error Prone 的一个插件,Error Prone 的运行代码检查作为 Java 编译过程标准的一部分。此编译器的集成允许检查编译器已经完成的工作,如代码解析和类型检查。此外,NullAway 和 Error Prone 可直接集成到我们用于 Android 代码的构建工具 Buck 所支持的快速内存并行构建中。因此,NullAway 可以比在正常构建过程之外运行的工具快得多。