根据国外媒体报道,卡耐基梅隆大学计算机系的研究人员日前开发了两款工具用于帮助程序员从成千上万的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目前均处于实验研究阶段,但已经可以让公众使用。将这两个工具推广后会增强它们在众包方面的功能。同时还能给研究人员重要的反馈信息,从而继续对它们进行改进。
小资料:众包技术,原指在产品和服务项目等开发中,以低工资或无偿地招募愿意参加的不特定数目的人员来进行开发工作的开发形态。在软件开发领域中,以开放源代码的形式向互联网等公开源代码,全世界的人通过互联网广泛聚集,利用业余时间进行工作,从而使软件更加完善。
在这里众包是指使用者可以为API添加说明,这些说明可以通过互联网被其他使用者共享。
|
相关推荐
java.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的接口和类。 java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中...
java.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的接口和类。 java.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统中都会遇到它,它提供了一种机制,能够在两个与 GUI 中显示...
例如Git进行版本控制,SVN用于源代码管理,JProfiler用于内存分析,FindBugs和PMD进行代码质量检查,以及IntelliJ IDEA内置的Checkstyle,它们都是提升Java开发效率和代码质量的重要辅助工具。选择适合自己的工具...
而"工具"可能是指使用各种Java开发工具(如IDEA、Eclipse等)中的正则表达式查找和替换功能,或者是利用第三方库如Apache Commons Lang的`StringUtils`类来辅助处理正则表达式。 总之,理解和掌握Java的正则表达式...
它详尽地列出了Java平台标准版(Java SE)中的所有类、接口、方法和构造器,为程序员提供了全面的API信息,使得开发者能够理解和使用Java提供的各种功能。 在Java编程中,API文档通常以Javadoc的形式存在,这是一种...
标题中的“程序员必备软件集合”指的是为程序员量身定制的一系列高效、实用的工具软件,这些软件能够替代Windows操作系统自带的一些基础应用,提供更加强大、专业的功能。这些替代品通常具有更高的性能、更多的定制...
标题中的“mac 文档查询神器 dash 程序员必备”指的是 macOS 平台上的一款名为 Dash 的应用程序。Dash 是一款非常实用的文档查询工具,专为程序员设计,它集成了大量的 API 文档、框架手册、语言参考等资源,使得...
JDK(Java Development Kit)是Java程序员必备的工具集,包含了编译器、JRE(Java Runtime Environment)、调试器以及其他辅助工具。本资源是“JAVA学习JDK-Api 1.6中文版”,特别适合Java初学者和进阶开发者,它...
JDK(Java Development Kit)是Oracle公司提供的Java开发工具集,其中包含了编译器、调试器和Java运行环境等必备组件。CHM(Compiled Help Manual)文件是一种帮助文档格式,通常用于软件的用户手册。在这里,JDK_...
除了上述核心组件,JDK6还包括了诸如Java Debugger(jdb)、Java Archive(jar)打包工具、Java Mission Control(JMC)以及Java VisualVM等其他辅助工具,它们为开发者提供了丰富的调试、性能分析和管理功能。...
在Java开发中,工具类(JavaUtils)是程序员经常使用的辅助类库,它们提供了一系列静态方法,用于处理各种常见的任务,如日期操作、字符串处理、文件管理、集合操作、JSON序列化与反序列化、加密算法应用以及邮件...
【标题】"1.5api-part3" 涉及的是Java API...每个部分都有其独特的应用场景和优势,理解并熟练运用这些API是Java程序员必备的技能之一。通过深入研究这些API,开发者可以提升代码质量,提高程序的可维护性和可扩展性。
【标题】:“564796540047397黑马程序员java web案例资料.zip”是一个由知名教育机构黑马程序员提供的Java Web开发案例资料集合,它旨在帮助学员深入理解和掌握Java Web开发技术。 【描述】:这个压缩包文件包含了...
这本书的电子教案《Java语言程序设计实验指导》则是实践与理论相结合的有力辅助工具。 首先,Java的基础知识是必不可少的。包括Java的历史、特点和优势,如其跨平台的特性(Write Once, Run Anywhere),以及它的...
了解如何定义类,创建对象,并利用这些对象处理问题,是Java程序员必备的基础。 2. **异常处理**:Java提供了异常处理机制,通过try-catch-finally语句块来捕获和处理运行时错误。这有助于保持代码的健壮性和可读性...
7. **Java API与标准库**:Java标准库提供了一系列的类和接口,如Math类、Date类、Calendar类等,这些工具类极大地丰富了Java的功能。 8. **泛型**:泛型用于限制容器对象只能存储特定类型的对象,增加了代码的安全...