OpenJDK,Java的开源参考实现(也是Oracle JDK的基础)已经达到了一个重要的里程碑。包含了类库代码的jdk仓库,在将要发布的JDK 9中已经消除了所有的编译警告,Joe Darcy和其他一些人领导Oracle工程师们在这上面耕耘了数月,也就此画上完美句号,这其中也包含了一些来自社区的贡献。
Java像其他编程语言,例如C一样,支持一种检查模式(linting mode),它可以对糟糕的代码样式和可能不安全的编码做法发出警告。包括的例子有,switch/case语句中是否有default处理,以及对Java原始类型的使用等。虽然检查产生的警告看起来比较温和,但是bug就有可能隐藏在这些被标注出来的代码背后。消除警告可以暴露真正的问题,其中一些问题还隐藏得很深。
OpenJDK团队解决这个问题的办法是,先消除一种类型的警告,然后再把这种警告设为致命错误(fatal error),这样以后带有这种警告的代码就无法提交到仓库中了。等到所有的警告类型都消除后,编译过程会打开-Xlint:all -Werror
开关,这样编译JDK的时候,所有的警告都会变成致命错误。
最后,Darcy写了一篇博文,在文中,他给那些也希望用这种方法清理自己项目中的编译警告的Java开发者们提出了建议。
查看英文原文:Java's JDK Repository Now Builds Warning-Free
时间:2015-02-25 21:18
来源:InfoQ
作者: 曹知渊
原文链接