是否可以使用CheckStyle限制方法中没有空行换行的方法中的代码行数?

时间:2017-08-15 13:32:09

标签: java checkstyle

我希望检查样式限制代码如下:

String someVariable = "value";
int val = getNum(someVariable);
SomeObject obj = someObject.callIt(val);
doSomethingUnrelated();
int result = anotherObject.doIt(
    1,
    obj,
    AnEnum.VALUE
);
return result;

该代码在一行中有太多行而没有分离。我希望它发出警告。

但是如果方法调用具有很多参数,我也想允许它:

int result = anotherObject.doIt(
    1,
    obj,
    AnEnum.VALUE,
    23,
    someOtherObject,
    "/some/file/path",
    "This is a lot of params"
);

是否可以在CheckStyle中执行这两个要求?

1 个答案:

答案 0 :(得分:0)

  

代码中有太多行没有分隔

Checkstyle中没有任何特定内容。最接近的检查是MethodLengthCheck,它计算方法中的最大行数。唯一的区别是,如果找到空行,则要将计数重置为0,因此仅在行中的多个X语句上打印违规而没有行分隔。 You will have to write your own check,如果您不想从头开始,可以使用MethodLengthCheck作为基础。

如果您成功撰写支票,请随时contribute it to sevntu

  如果它的方法调用具有很多参数,那么

想要允许它

此要求可能不那么容易实现,因为方法调用可以嵌入到语句中,但如果您无法查找并忽略它们,则可以抑制这些情况。