社区编辑申请
注册/登录
程序员必备Java API
开发 后端
本文介绍两款工具用于帮助程序员从成千上万的Java API中选择合适的API,这两款工具的名字分别是Jadeite和Apatite。

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

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

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

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是Associative Perusal of APIs That Identifies Targets Easily的缩写,其实现方法与Jadeite不同,它可以让程序员浏览API之间的关系,可以查看不同的包、类和方法之间的彼此联系。

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

小资料:众包技术,原指在产品和服务项目等开发中,以低工资或无偿地招募愿意参加的不特定数目的人员来进行开发工作的开发形态。在软件开发领域中,以开放源代码的形式向互联网等公开源代码,全世界的人通过互联网广泛聚集,利用业余时间进行工作,从而使软件更加完善。在这里众包是指使用者可以为API添加说明,这些说明可以通过互联网被其他使用者共享。

【编辑推荐】

  1. 有一天你也会成为很牛的程序员
  2. Java程序员考试中需要注意的几点
  3. 熟练的Java程序员应该掌握的技术
  4. Java程序员学习Flex和BlazeDS的十三个理由
  5. Java程序员必须了解GC的工作原理
责任编辑:佚名 来源: CSDN
相关推荐

2022-04-14 10:10:59

Nginx开源Linux

2022-05-24 08:21:16

数据安全API

2022-05-03 22:25:57

Python浏览器语言

2022-05-17 16:56:33

开发工具前端

2022-05-17 15:51:32

数据中心运维能力基础设施

2022-05-07 10:09:01

开发Java日志

2022-04-08 14:38:43

程序员习惯终端

2022-05-20 08:17:43

Java日志

2022-04-08 08:26:03

JavaHTTP请求

2022-04-13 08:00:00

Hilla开发Java

2022-03-31 07:52:01

Java多线程并发

2022-04-17 23:09:07

深度学习人工智能芯片

2022-05-17 09:02:30

2022-04-29 09:43:12

IPDKAPI框架DPU/IPU

2022-04-15 09:23:29

Kubernetes面试题

2022-05-10 16:04:40

编程语言PythonC语言

2022-05-17 08:39:05

VueViteTypeScript

2022-04-15 16:02:57

IT调查报告

2022-01-05 08:00:00

框架Golang开源

2022-03-29 09:33:34

LinuxShell命令

同话题下的热门内容

Python 字符串总结,建议收藏!这份Java日志格式规范,拿走不谢!Mybatis-Plus官方发布分库分表神器,一个依赖轻松搞定!后端思维篇:如何应用设计模式优化代码改变 Python 对象规则的黑魔法 Metaclass几种限流算法的Go语言实现JMeter关联之正则表达式提取器在 Go 中实现一个支持并发的 TCP 服务端

编辑推荐

使用Kotlin做开发一个月后的感想面试官问你什么是消息队列?把这篇甩给他!五大自动化测试的Python框架图文详解两种算法:深度优先遍历(DFS)和广度优先遍历(BFS)2018年最流行的十大编程语言,其中包括你用的语言吗?
我收藏的内容
点赞
收藏

51CTO技术栈公众号