给定一个大型API(特别是Java或J2EE标准库),是否有工具或搜索引擎或其他资源可以告诉我一般人们倾向于使用哪些方法,类或甚至包? 我正在注释(见下文)API,并希望将我的注意力集中在热门领域。 我唯一能想到的是使用不同方法名称的谷歌代码,但这当然是单调乏味的。
一些背景(如果有人有兴趣):作为我博士研究的一部分,我开发了一个tool,允许用户在方法文档(他们自己的或现有的API)中突出重要的“指令”,然后将这些注释推送给用户,以增加他们意识到这一点的机会。我们的实验室研究表明这有潜力,但为了让人们在现场使用它,我必须提供带注释的API的“语料库”,并且我正在尝试优先考虑哪些库进行注释。
答案 0 :(得分:3)
我不知道这些统计数据是否可行,但我认为一个非常安全的选择是从基础知识加上一些着名的第三方库开始。例如:
至于第三方
答案 1 :(得分:1)
这个“简单”的bash脚本将计算当前项目代码库中最常用的类。
find . -name "*.java" | xargs cat | grep "^import java" | sort | uniq -c | sort -nr | head -100
答案 2 :(得分:0)
似乎可以自动化一个流程,其中可以将一系列J2SE或J2EE包提交给Koders.com,Google Code或其他开源代码搜索存储库,计算每个包的结果并排序最多受欢迎。
请注意,这不会给您绝对完整的结果,因为java.lang(或任何其他隐式导入的包/类)将不会显示在该搜索中。
我认为现有的工具或出版商并不存在这些信息,但我可能会弄错。
另一种可能性是选择一些“代表性”项目,下载它们并使用依赖性分析工具(如JDepend)生成依赖性报告并处理它们以获取一组正在使用的包/类。
答案 3 :(得分:0)
我认为,您希望根据使用频率对它们进行排名。我建议你下载一些开源java项目,运行一个静态分析工具。然后在同一组上运行一个内存分析器,最后推断这些统计信息
答案 4 :(得分:0)
您可以使用MethodRank指标来检测一些开源项目中最常用的方法类。
您可以获得JavaDepend的试用版,分析一些流行的Java开源项目,并执行一些CQL请求(如SQL)以获取这些项目中所有最常用的方法,类和字段。
PS:试用版足以满足您的需求,没有时间限制。