logo
  • service@microlinktech.net
  • 0755-23078182

2017 Java 库 Top 100 榜单发布,JUnit 再登王座

     OverOps 于 7 月 19 日发布了 2017 版的 “GitHub Java 流行库 Top 100 ”。他们首先通过结合 Google BigQuery 以及各项目在 GitHub 上的 star 数选出前 1000 个 Java 存储库,然后过滤掉 Android 、Arduino 和一些弃用的 repos ,仅留下 477 个纯 Java 项目。最后,再结合项目的 unique imports 进行计数,最后得出结果。详细的计算方式可查阅 (注:OverOps 是一家旨在帮助更有效地发现代码中的错误的公司)

前 20 名如下:

JUnit 是 GitHub 中最流行的 Java 库,与去年保持同样的地位。不仅如此,基于其拓展而来的 JUnitRunner 和 Junit Framework 分别占据了第 2 名和第 3 名的位置。我们甚至可以说,前三甲被 JUnit 承包了。

开源测试框架 Mockito 排名第 4 ,日志组件 slf4j 位列第 5 。slf4j 的受欢迎程度反映了开发者对日志记录的依赖,也侧面反映了标准 java.util.logging 库的低人气。

辅助在 JUnit 和 jMock 中进行测试的框架 Hamcrest 位于第 6 位,这也说明了开发者对更好的测试环境的需求。

从这些测试工具的高排名不难看出测试的重要性。我们可以认为,生产错误是开发者面临的最大痛苦之一,因此他们在尽可能地去避免。

此外,Google Guava 排名第 7 ,最受欢迎的 JSON 库是 Jackson 。org.w3c.dom 是首次进入前 20 ,它提供了操纵 DOM(文档对象模型)的接口。

而纵观前 100 名,我们可以看到,Spring 具有广泛的代表性,有 8 个库入榜:

  • #57 – org.springframework.beans.factory.annotation

  • #60 – org.springframework.context

  • #65 – org.springframework.context.annotation

  • #66 – org.springframework.stereotype

  • #68 – org.springframework.util

  • #81 – org.springframework.test.context.junit4

  • #85 – org.springframework.beans.factory

  • #91 – org.springframework.web.bind.annotation

还有就是被广泛使用的 Apache 库,有 17 个库入榜:

  • #16 – org.apache.commons.io

  • #22 – org.apache.http

  • #24 – org.apache.commons.lang

  • #25 – org.apache.http.impl.client

  • #30 – org.apache.http.client

  • #33 – org.apache.http.client.methods

  • #34 – org.apache.log4j

  • #35 – org.apache.commons.codec.binary

  • #45 – org.apache.commons.lang3

  • #53 – org.apache.http.entity

  • #61 – org.apache.http.util

  • #64 – org.apache.commons.logging

  • #75 – org.apache.http.message

  • #88 – org.apache.zookeeper

  • #95 – org.apache.hadoop.conf

  • #98 – org.apache.http.client.config

  • #100 – org.apache.http.client.utils

最后,还有一个值得注意的库是 AssertJ  ,这是一个为写作断言提供流畅界面的库,在 2017 年已上升至第 50 名。

开源中国