OpenJDK 局部变量类型推断风格指南的 Checkstyle 规则

Era*_*dan 6 java checkstyle java-10

背景:

OpenJDK 发布了局部变量类型推断的风格指南。

我一直在寻找一种内置的检查样式来解决这个问题,但没有找到。

我想要得到的东西非常简单,但我不太熟悉编写自定义模块。

例子:

允许:

  • 实例创建,创建什么一目了然
var something = new Anything(); // OK
Run Code Online (Sandbox Code Playgroud)
  • 它是一个文字,很明显它是什么类型
var something = "literal"; // OK
Run Code Online (Sandbox Code Playgroud)

违反:

  • 即使有好的命名,也不知道是什么类型
var something = anything.doAnything(); // Violation
Run Code Online (Sandbox Code Playgroud)
  • 在这里使用 var 提高了可读性
Anything<Foo<Bar>> something = new Anything<>(); // Violation
Run Code Online (Sandbox Code Playgroud)
  • 没什么大不了的,只是为了保持一致性
String something = "literal"; // Violation
Run Code Online (Sandbox Code Playgroud)

问题:

是否有任何现有规则可以扩展/调整以获得上述内容?我应该尝试编写自己的规则吗?我认为 RegExp 可以处理某些情况,但不是全部。

And*_*fii 1

你可以调整这个: 在此输入图像描述

在这里找到它:https ://checkstyle.sourceforge.io/checks/coding/matchxpath.html#MatchXpath

注意:MatchXpath 是从 Checkstyle 8.39 开始的