前言
每个开发者都有自己的一套通用代码库,里面封装了一些 Java API 的便捷方法,主要是为了避免模板代码的编写。但在很多时候,由于时间已久,你可能忘了当初定下的规则,以至于给方法传递错误的参数,在不恰当的时机调用方法,不对返回值进行空值检测就直接使用,等等。你必须为此承担潜在风险,甚至付出巨大代价。
正文
鉴于以上种种,我们来讨论 如何优化通用代码库,避免底层 bug 带来的潜在风险。
findbugs 是一套成熟的 bug 解决方案,通过 jsr305 提供的注解类,适合在底层通用代码库中使用。
Java 库 jsr305:
提示:大部分情况下,使用 @Nonnull 和 @Nullable 这两个注解较多。
注意:以上所有注解只是示例,并不具备实际意义,请不要效仿。
关于 @Nonnull 注解的细节: