Java Checkstyle 换行缩进

Java Checkstyle wrapping indentation

我有这样的功能

public static <
    T,
    X>
void helloFunction(T t, X x) {
  //some code here...
};

假设 T 和 X 是长词,这就是为什么我必须将它们添加到单独的行中。 Checkstyle 警告 void helloFunction(T t, X x) { 应该有缩进级别 4,这是我的包装缩进配置。我认为 void helloFunction(T t, X x) {public static <.

的缩进相同看起来更好

问题:

  1. Checkstyle 是否需要它?
  2. Checkstyle 首选项实际上更好还是更符合 java 惯例?
  3. 是否有适合我偏好的 Checkstyle 配置?

提前致谢。

我喜欢你提出的风格 - 看起来很酷!然而,它实际上并不常见,因为大多数人可能更愿意将其写成

public static <T, X> void helloFunction(T t, X x) {
  //some code here...
};

这当然是个人品味(或您团队的品味)的问题,但类型变量名称最常见的做法实际上是使用单个大写字母,最多后跟一个数字(参见 Google Style Guide,可以说是最流行的 Java 编码风格指南)。正如您已经提到的,这使得更紧凑的符号成为可能。

Checkstyle 强调遵循通用约定。甚至还有一个特定的 bundled configuration for Google Style (report),它使您可以通过 Google 样式指南轻松使用 Checkstyle。

我建议遵循既定的风格指南,因为它会让您的代码更容易被其他人阅读。

据我所知(我可能会),没有适合您偏好的配置。但是,您可以 write custom checks 购买它。