Java API函数使用频率有哪些统计数据?

5
提供一个大型API(特别是Java或J2EE标准库),是否有工具、搜索引擎或其他资源可以告诉我人们通常使用哪些方法、类甚至包? 我正在注释API,并希望将注意力集中在流行的领域上。 我能想到的唯一方法是使用不同的方法名称进行谷歌代码搜索,但这当然很繁琐。
一些背景信息(如果有人感兴趣):作为我的博士研究的一部分,我开发了一个工具,允许用户在方法文档中突出重要的“指令”,然后将这些注释推送给用户,增加他们意识到它的机会。我们实验室的研究表明,这具有潜力,但要让人们在现场使用它,我必须提供已注释的API的"语料库",我正在尝试优先处理哪些库进行注释。
5个回答

3

这是一个相当不错的起点。我会将JDBC添加到列表中。 - Bill the Lizard
是的。虽然不多,但也有一些人直接使用Networking API。Swing可能是最少用的。 Properties是另一个非常常见的API,我也看到过它和Resource Bundles一起使用。 - anjanb
我几乎相信一些字符串函数比集合函数更常见。 - Axeman
@Axeman:我相信你是对的,但String在核心java.lang包中。 - Bill the Lizard

1
这个“简单”的Bash脚本将会统计你当前项目代码库中最常用的类。
find . -name "*.java" | xargs cat | grep "^import java" |  sort | uniq -c | sort -nr | head -100

1
这显然忽略了java.lang包。它还没有考虑到使用频率。一个不错的尝试(无恶意)。 - questzen

0

看起来可以自动化一个过程,将J2SE或J2EE软件包列表提交到Koders.com、Google Code或其他开源代码搜索库中,计算每个软件包的结果并按照最受欢迎的排序。

请注意,这不会给出绝对完整的结果,因为java.lang(或任何其他隐式导入的包/类)不会在该搜索中显示。

我认为没有现有的工具或发布者提供这些信息,尽管我可能错了。

另一个可能性是选择一些“代表性”的项目,下载它们并使用依赖分析工具(如JDepend)生成依赖报告,并处理它们以获取一组正在使用的软件包/类。


0

我猜你想根据使用频率对它们进行排名。我建议你下载一些开源的Java项目,运行静态分析工具。然后在同一组数据上运行内存分析器,最后推断出这些统计数据。


0

您可以使用MethodRank度量标准来检测一些开源项目中最常用的方法和类别。

您可以获取JavaDepend的试用版本,分析一些流行的Java开源项目,并执行一些类似于SQL的CQL请求,以获取这些项目中所有最常用的方法、类别和字段。

附注:试用版已经足够满足您的需求,没有时间限制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接