首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java:忘记Guava,Java开发人员应该知道的5个谷歌库

很多程序员知道一个流行的谷歌Java库——Guava,这并不奇怪,因为它的主要关注点是提高开发人员的生产力。但其他谷歌库呢?你有注意过吗?在下面的文章中,我们将浏览谷歌的一些有趣的Java库,并让你了解如何使用它们。

1.依赖项注入 — Guice

Guice是Java的一个轻量级依赖注入(DI)框架,其作用与Spring的核心控制反转(IOC)库类似。如果你不熟悉它,Guice可以减少对工厂的需求,并简化代码中“new”的使用。用谷歌自己的话来说,Guice@Inject是新的。

虽然这个库不会免除你编写工厂的责任,但它将有助于确保你的代码不直接依赖于它们。这样,更改、单元测试和重用代码将更容易。

这个库旨在使开发和调试更容易、更快。文档甚至声称可以帮助你更好地理解代码。Guice提供的另一个很酷的功能是在出现错误时生成有用的消息,这样你就可以了解发生了什么以及如何解决它。

2.静态分析 — Error Prone

这个开源库是Java的静态分析工具,允许你在编译时发现常见的编程错误。例如,它可以检测到的错误模式之一是CannotMockFinalClass,这表明Mockito不能模拟最终类。

在官方库页面上,你会发现常见错误列表及其建议的修复方法。这意味着每个错误都有一个别人已经想到的解决方案,并且你可以在自己的代码中轻松实现它。

3.有意义的错误 — Truth

Truth是一个测试框架,旨在帮助你的测试和错误消息更具可读性和可发现性。它生成有意义的错误消息,报告测试失败的原因,同时可扩展到新类型的对象。你可以使用Truth来代替JUnit的断言、FEST或Hamcrest的matchers类,也可以简单地以你认为适合你的代码的方式使用它。它为你提供了一个测试动词,该动词断言被测试的主语、值或宾语。你可以使用Truth来声明JUnit风格的假设(并跳过失败测试)、断言和异常。

4.语言不可知论协议——Kythe

Kythe提供并支持工具和标准,以鼓励操作源代码的程序之间的互操作性(系统之间共享、交换和使用信息)。解释它的一个更简单的方法是说,这个库为构建与源代码一起工作的工具提供了一个生态系统。

这个库的主要目标是提供一个标准的、与语言无关的交换机制,该机制可以用于任何源代码。它包括构建系统、编译器、解释器、静态分析、编辑器、代码评审应用程序等等。这样,你就可以与你想要的任何其他系统共享信息。

5.序列化结构化数据-Protobuf

Protobuf,也被称为Protocol Buffers的库,是谷歌的语言中立、平台中立、可扩展的机制,用于序列化结构化数据。如果你不确定它的意思,谷歌解释说,它就像XML一样,只是更小、更快、更简单。如果我们必须为这个库选择一个口号,它可能是“一次构造,随处使用”,这是描述它的最佳方式。一旦你定义了你想要的数据结构,你就可以使用特殊生成的源代码从各种数据流中读写,并使用各种语言。

最后的想法

有很多Java库可以帮助你的代码,让它更智能,更容易使用。你所要做的就是了解你在找什么,看看某个库能帮上什么忙。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230330A04NO400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券