BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Java的JDK已经可以无警告编译通过

| 作者 Ben Evans 关注 31 他的粉丝 ,译者 曹知渊 关注 1 他的粉丝 发布于 2015年2月25日. 估计阅读时间: 1 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT