【问题标题】:Are there some statistics on the most frequently used Java API functions? [closed]是否有一些关于最常用的 Java API 函数的统计数据? [关闭]
【发布时间】:2010-09-19 04:38:34
【问题描述】:

给定一个大型 API(特别是 Java 或 J2EE 标准库),是否有工具或搜索引擎或其他资源可以告诉我人们通常最常使用哪些方法、类甚至包? 我正在注释(见下文)API,并希望将注意力集中在热门领域。 我唯一能想到的就是使用具有不同方法名称的谷歌代码,但这当然很乏味。

一些背景(如果有人感兴趣的话):作为我博士研究的一部分,我开发了一个tool,它允许用户在方法文档(他们自己的或现有的 API)中突出显示重要的“指令”,然后推送这些注释给用户,以增加他们意识到它的机会。我们的实验室研究表明这是有潜力的,但是为了让人们在现场使用它,我必须提供带注释的 API 的“语料库”,并且我正在尝试优先考虑要注释的库。

【问题讨论】:

    标签: api java


    【解决方案1】:

    我不知道这样的统计数据是否可行,但我认为一个相当安全的选择是从基础知识和一些著名的第三方库开始。例如:

    至于第三方

    【讨论】:

    • 这是一个很好的起点。我会将 JDBC 添加到列表中。
    • 是的。不过,没有多少人直接使用 Networking API。 Swing 可能是最少使用的。属性是我在资源包中看到的另一个非常常见的 API。
    • 我几乎相信某些字符串函数比集合出现的次数更多。
    • @Axeman:我确定你是对的,但 String 位于核心 java.lang 包中。
    【解决方案2】:

    这个“简单”的 bash 脚本将统计您当前项目代码库中最常用的类。

    找 。 -名称“*.java”| xargs 猫 | grep "^import java" |排序 |唯一的-c |排序-nr |头 -100

    【讨论】:

    • 这很明显,忽略了 java.lang 包。它也没有考虑使用频率。一次不错的尝试(没有双关语)
    【解决方案3】:

    似乎可以自动化一个流程,将 J2SE 或 J2EE 包列表提交到 Koders.com、Google Code 或其他开源代码搜索存储库,计算每个包的结果并排序最多很受欢迎。

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

    我认为目前没有此类信息的工具或发布者,尽管我可能弄错了。

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

    【讨论】:

      【解决方案4】:

      我想,您想根据使用频率对它们进行排名。我建议你下载一些开源的java项目,运行一个静态分析工具。然后在同一个集合上运行内存分析器并最终推断这些统计信息

      【讨论】:

        【解决方案5】:

        您可以为此使用 MethodRank 指标,以检测一些开源项目中最常用的方法、类。

        您可以获取JavaDepend的试用版,分析一些流行的java开源项目,并执行一些CQL请求(如SQL)来获取这些项目中所有最常用的方法、类、字段。

        PS:试用版足够你的需要,没有时间限制。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-19
          • 1970-01-01
          • 1970-01-01
          • 2011-07-04
          • 2010-11-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多