以文本方式查看主题

-  课外天地 李树青  (http://www.njcie.com/bbs/index.asp)
--  Java程序语言课件  (http://www.njcie.com/bbs/list.asp?boardid=17)
----  [转帖]程序员必备Java API和类搜索辅助工具  (http://www.njcie.com/bbs/dispbbs.asp?boardid=17&id=778)

--  作者:admin
--  发布时间:2009/6/24 13:40:58
--  [转帖]程序员必备Java API和类搜索辅助工具

根据国外媒体报道,卡耐基梅隆大学计算机系的研究人员日前开发了两款工具用于帮助程序员从成千上万的Java API中选择合适的API。

这两款工具的名字分别是Jadeite和Apatite。它们利用了以人为中心的设计技术,从而大大缩短了搜寻合适的类与API的时间。为一个程序选择合适的API并不那么直观,人机交互学教授Brad A. Myers说道。目前Javadoc库中有35000个方法包含在4100个类中,而且这些数字还在不断扩大,因为每发布新版本的Java,就会有一批新的API被添加进去。就连最好的开发人员也无法完全熟悉这些API。

这是所有程序员所面临的基本问题,不管他们是菜鸟还是专家,Myers说道,虽然可以让API设计的更加简单易用,但现有的Java 编程中所用到的大量重要的API使用起来仍然很困难。Jadeite和Apatite可以帮助程序员们从现有的API中选择自己所需要的。

Jadeite(http://www.cs.cmu.edu/~jadeite)是Java Documentation with Extra Information Tacked-on for Emphasis的缩写。它可以根据Google搜索提供的API使用频度来通过不同的字体大小来显示API的名称。比如频繁使用的PrintWriter就会用大号字母来显示,而不经常使用的PrintEvent则用小号字来显示。

Jadeite还使用了众包(Crowd-sourcing)技术来解决有的API并不是顾名思义的包含程序员所希望使用的方法的问题。例如Message和MimeMessage类并不包含发送email的方法。因此Jadeite可以让不同的用户为需要使用的类和方法添加一个叫做placeholder的东西,用户可以编辑placeholder从而来给程序员提供指导。在placeholder中可以告诉程序员他们所需要的方法的确切位置。

另外,有的对象的创建对于程序员来说并不是特别熟悉,比如SSL sockets。在这种情况下,Jadeite包含了程序员创建这些对象的最常用代码,用户可以从这些代码范例中得到启发。

通过对用户试用的研究显示使用Jadeite可以比使用标准的Javadoc提高三倍的效率。

Apatite(http://www.cs.cmu.edu/~apatite)是Associative Perusal of APIs That Identifies Targets Easily的缩写,其实现方法与Jadeite不同,它可以让程序员浏览API之间的关系,可以查看不同的包、类和方法之间的彼此联系。

Jadeite和Apatite目前均处于实验研究阶段,但已经可以让公众使用。将这两个工具推广后会增强它们在众包方面的功能。同时还能给研究人员重要的反馈信息,从而继续对它们进行改进。