独家:程序员必备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目前均处于实验研究阶段,但已经可以让公众使用。将这两个工具推广后会增强它们在众包方面的功能。同时还能给研究人员重要的反馈信息,从而继续对它们进行改进。(译/曹巳甲)

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

转载自:http://www.csdn.net/article/a/2009-06-23/212109

程序员必备Java API和类搜索辅助工具-Jadeite和Apatite相关推荐

  1. Java程序员必备 : Java反编译神器——“GUI” 资源分享

    GUI简介 当我们编写完成一个java类后,运行结果会得到一个class文件,这种二进制文件如果用普通记事本打开,就会出现各种乱码现象,令人十分头疼,当我们要查看.class文件的源代码时,可以通过反 ...

  2. java程序_Java程序员必备----Java命令大全

    1.java.exe: ====================== 运行java程序,这个相信每一位用Java的人知道了.2.javac.exe: ====================== 编译 ...

  3. 吐血整理-高级程序员必备Java并发编程原理,没时间看建议收藏

    简介: Java线程之间的通信对程序员完全透明,内存可见性问题很容易困扰Java程序员,这一系列几篇文章将揭开Java内存模型的神秘面纱.这一系列的文章大致分4个部分,分别是: Java内存模型基础, ...

  4. 设计师和程序员必备5个超赞的配色工具,从此配色无忧!

    配色对于设计师来说是必备技能,程序员也应该有配色意识,毕竟用户还是喜欢看到配色舒服的内容.这里有几个配色工具可以帮助我们寻找最合适的配色方案,并激发配色灵感.绝对干货,还不需要翻墙哦! 高级在线配色  ...

  5. Java程序员必备的10个大数据框架

    当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂.根据外媒的一项调查报告,小千列出了Java程序员在过去12个月内一直使 ...

  6. java的六大_java程序员必备的六大工具!

    原标题:java程序员必备的六大工具! Java程序员都会有套工具来应对工作上的挑战.多年来,Java 程序员使用软件来完成他们的工作.有很多工具对他们是有用的,不过对于初入行的人员来说,寻找合适的工 ...

  7. 524页《Java中高级程序员必备核心知识》总结,令人犹如醍醐灌顶

    说在前面 知乎上有个很热门的话题:中国的程序员数量是否已经饱和或者过剩? 今年大家都有一个共同的感受:工作不好找,面试越来越难. 其实,造成这种现象不仅是因为今年受疫情影响,倒闭了很多公司,很多公司缩 ...

  8. 总结《Java中高级程序员必备核心知识》,令人犹如醍醐灌顶

    说在前面 知乎上有个很热门的话题:中国的程序员数量是否已经饱和或者过剩? 今年大家都有一个共同的感受:工作不好找,面试越来越难. 其实,造成这种现象不仅是因为今年受疫情影响,倒闭了很多公司,很多公司缩 ...

  9. Java 程序员必备的 15 个框架,前 3 个地位无可动摇!

    2019独角兽企业重金招聘Python工程师标准>>> Java 程序员方向太多,且不说移动开发.大数据.区块链.人工智能这些,大部分 Java 程序员都是 Java Web/后端开 ...

  10. Java程序员必备的几款开发工具,高效才是硬道理!

    作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面我就给大家推荐几款高效的Java开发工具. 一.Eclipse Eclipse做为一款开发源代码的Jav ...

最新文章

  1. 服务器打印文档 图片显示是叉,Lodop背景图无图片时显示放大叉号问题
  2. JMS(1)——基本实例
  3. 浦银行面试总结(信息科技部)
  4. mysql对null排序_mysql中null值的排序问题分析_MySQL
  5. [html] 如何关闭HTML页面在IOS下的键盘首字母自动大写?
  6. abp框架(aspnetboilerplate)设置前端报错显示
  7. Spring boot如何打war包发布到tomcat
  8. Codeforces Round #879 (Div. 2) C. Short Program
  9. 微信小游戏 - 理论介绍 - 账号注册 - 开发前准备
  10. 阶段3 1.Mybatis_11.Mybatis的缓存_1 今日课程安排
  11. Node.js中使用AWS SNS服务发送短信
  12. 【操作篇】qBittorrent下载+转种Transmission快校版+IYUU Plus辅种教程
  13. 如何重置IE浏览器?重置IE浏览器的方法
  14. Windows应急响应练习-勒索病毒篇1
  15. 开源中国众包平台派活:微信小程序任务
  16. day7 局部变量和封装
  17. 超简单的3步搭建静态网站(Franklin.jl)
  18. GraphX入门简介
  19. 《沟通的方法》笔记十:激励
  20. 不可替代的测试人:一文解释探索性测试是什么

热门文章

  1. MySQl 表基本查询操作
  2. Unity3D场景对象无法显示
  3. 人体究竟需要多少蛋白质?摄入过量就是浪费钱
  4. php主机安装教程,easypanel 主机面板安装教程
  5. 大汉诡辩达人陆贾的公关策略cathy荷塘月色新浪博客
  6. MeteoInfo-Micaps绘制色斑图
  7. [HTML+Bootstrap+CSS+jQuery] 时差计算器(计算时差、验证格式、当前时间、历史记录……)
  8. 关于skl计算机题目,系统崩溃,并且您不能更改 Windows 8.1 或 Windows Server 2012 R2 中的英特尔 SKL 平台上的 CPU 频率...
  9. Python数据分析!NBA的球星们喜欢在哪个位置出手!
  10. [Python数据分析]NBA的球星们喜欢在哪个位置出手