在Java中包装长泛型类型的约定是什么



我从Oracle网站上读到了一些关于Java泛型类型的建议,比如用一个字母表示名称等等。

但假设我在一个方法中有4个泛型类型,这使得代码行非常长,并打破了1997年(哇!(的建议或保持行短。那么我应该如何分解泛型类型呢?

到目前为止,我们已经和一些同事讨论过这个问题,最后我们讨论了以下内容,但我们想知道是否有一些广泛的约定

public static 
<
R extends SomeClassName,
E1 extends Exception,
E2 extends Exception,
E3 extends Exception,
E4 extends Exception
> R themethodNameThatCanBeABitLong(
final SomeParameterClass<R> param1,
final Class<E1> clazzE1,
final Class<E2> clazzE2,
final Class<E3> clazzE3,
final Class<E4> clazzE4
) throws 
ExceptionA,
ExceptionB,
ExceptionC {

在这种情况下澄清一下:我们不是在寻求基于意见的东西,但我们想知道关于这种情况的广泛使用的约定(如Oracle或Apache(。如果存在多种约定,请向我们展示所有约定,即使它们相互矛盾。

据我所知,没有任何Java编码标准讨论编写具有大量类型参数的类型的首选方法,甚至没有推荐多少类型参数。

在没有标准的情况下,你需要在表达代码的需求和其他人阅读代码的需求之间取得平衡。与你的同事/团队成员谈谈。他们将阅读你的代码。


根据我的经验,如果你试图用泛型类型变得过于优雅,你最终会与类型系统作斗争,优雅会变成不必要的复杂性。

最新更新