分析覆盖

内燃机2021年09月06日

很多人都想知道 Sun JDK bug 分析数据,因为每一个开发工具/开发语言都有自己的长处和缺点,如果我们能够使用 Java 的长处,避开 Java 的缺点,则我们有可能写出好的程序,否则,我们不可能写出好的程序。这是一个浅显的道理,每一个程序员、系统分析员、项目经理、技术经理,都应该知道这个道理。  这篇文章的分析数据都来源于 Sun 站上的公开数据。

JDK 1.4.2 的 bug 数据来自: 。

JDK 5.0 的 bug 数据来自: 。

更早版本的,比如 JDK 1.3,已经从 Sun 站上被删除了。没有办法再进行分析了。

JDK 1.4.2 的 bug 数据饼图如下:

可以看出,前六位占据了超过半数的 bug:

java/classes_awt    13.7%

java/classes_swing   12.6%

java/classes_2D     11.5%

java/classes_net    6.3%

java/classes_sound   4.1%

java/classes_util    3.7%

java/javadoc       3.7%

java/classes_nio    3.3%

javawebstart/other   3.3%

java/compiler      3.0%

JDK 5.0 的 bug 数据饼图如下:

可以看出,前六位同样占据了超过半数的 bug:

java/classes_swing    22.5%

java/classes_2D      9.5%

java/classes_awt     7.6%

java/classes_lang     4.6%

java/compiler       4.1%

java/classes_sound    3.3%

java/classes_util_i18n  2.5%

从监察机关了解到 java/classes_util     2.5%

java/javadoc       2.4%

java/classes_net     2.2%

在这两个版本中,前三位都是 Swing、AWT、2D,这说明了在图形界面(专业术语为 GUI)设计中,Sun 的软件工程师的水平仍差强人意,这可以解释。Sun 所开发的软件产品中,主要面向小型机服务器市场。这些市场对于软件的界面要求不高,基本上都是传统的 Unix service 程序。也许 Sun 的强项并不在 GUI 方面。GUI bug 在两个版本的百分比分别是 37.8 和 39.6%,都超过三分之一。

相比较其他流行的开发语言,比如 .Net,或者即使是十年前的老版本 Visual Studio,或者 Borland 的 Delphi/CBuilder 中, GUI bug 所占的分量也没有这么高。

这说明了尽管 Sun 不停地宣传 Swing 类是多么的设计巧妙,尽管每个版本的 JDK 文档中 Sun 都在新版本的新特点中提到 Java Swing/AWT/2D,我们仍然应该避免使用 Java Swing/AWT/2D。很多第一线的程序员都能明确了解使用 Java GUI 编程是一个非常糟糕的想法,但是在中国国内,还是有很多系统设计师和项目经理有这个糟糕的想法。

JDK 1.4.2 中排名第四的是 java/classes_net,在 JDK 5.0 中则是第十名。考虑到 JDK 1.4.2 相对于以前的版本,增加或者增强了 IPv6、HTTP Digest Authentication、Unconnected/Unbound Socket Support、Connected UDP Socket Support、FTP Protocol Handler、JNDI DNS SP Support in InetAddress、URLEncoder and URLDecoder Improvements、TCP Out-of-Band Data、Full V5 (RFC 1928) V4 TCP support。由于这是一个比较大的动作, bug 比较多也属于正常范围。

两个版本中,java/classes_sound 都出现在前十,并且排名都比较中前,这说明了 Sun 在多媒体方面的技术也不尽如人意。

让我们失望的是,java/classes_util 在 JDK 1.4.2 和 5.0 中都出现在前十中。这个包的类库使用得比较普遍,每个项目经理或者产品经理都应该派专人去查一查,自己的软件中是否在 java/classes_util 的使用上,有没有避开以上 bug。

在 JDK 1.4.2 中 bug 出现在前十名的 java/classes_nio 没有出现在 JDK 5.0 中,这是一个好消息。终于有一个 Java 包可以放心使用了。

比较让我们哭笑不得是,在两个版本的前十名 bug 中,java/javadoc 和 java/compiler 都出现了。这个怎么说呢,实在是很不应该。java/javadoc 有 bug 好像对于国内的 Java 软件开发来说没有太大的影响,因为重视使用 javadoc 的并不多。至于 java/compiler ,因为 Java 编译器是 C 写的,大概是编译器很难写吧,所以会难免有些 bug。但是编译器是基本上每个 Java 程序员都用的,而且 Sun 的 Java compiler 似乎也是所有 Java compiler 中使用者最多的,Sun 需要继续努力。

JDK 5.0 中,java/compiler bug 所占百分比比 JDK 1.4.2 中提高了好几个名次,很不好的一个趋势。Sun 现在将 Java 开源,希望有助于提高这一部分的软件质量。

以上的 bug 分析,希望对大家有所帮助。

查看本文来源

杭州哪妇科医院好
气虚神疲乏力是什么原因
广州不孕不育医院
相关阅读
廖彬宇作人古诗选:天行记七律

按:廖彬宇恩师作此诗词于2018年,由同时代工笔大家刘广描画诗词急于并著...

2024-11-15
注意!这几种过道千万不要发朋友圈

录取结束,录取应考注意到了,这几种外面千万不能发博文!①录取准考证②...

2024-07-27
高考志愿怎么挖?永州爱尔眼科带你完美“避坑”!

如果把初中比喻再加第一场万里长征的话 那么,初中应征入伍单列就是这最...

2024-07-15
你们都喜欢网红楼梯!我太太踩的坑你们可要避开!最后有整个楼梯的清单,给你们参考!网红楼梯 魅族lip

你们都羡慕网红升降机!我老公踩的坑你们可要避开!之前有整个升降机的清...

2024-07-01
在一起贵了你就会发现 他不仅会骂你 烦你 还会盖起被子继续睡 不管你哭成什么样都不会哄你 只会觉得你

在独自久了你就都会发现 他不仅都会责骂你 烦你 还都会盖起被子继续睡 不...

2024-05-25
中颖电子(300327.SZ)发在预盈,预计半年度净利润达2.52亿元-2.6亿元,同比增65%-7

中颖电子(300327.SZ)发行2022年半年度财务状况预告,公司财务状况预告期间预期...

2024-05-23
友情链接