如何通过静态分析禁止多行lambdas?
How to forbid multi-line lambdas by static analysis?
我有一个遗留代码库,它受到像这样冗长的 lambda 的影响。
collection.forEach(item -> {
// 100 lines of logic buried here
});
其中大部分可以重构为 类 实现 Callable
、Runnable
或 Consumer
,这将大大提高代码的可读性。
如何为多个表达式的 lambda 执行单独的 类(最好通过 checkstyle)?
我希望尽可能少地看到 ... -> { ...; }
,但是 ... -> ...
也可以。
从 checkstyle 8.37 开始,您可以使用 LambdaBodyLengthCheck,它完全可以满足您的需求。您可以指定 lambda 主体的最大长度,默认为 10。
我有一个遗留代码库,它受到像这样冗长的 lambda 的影响。
collection.forEach(item -> {
// 100 lines of logic buried here
});
其中大部分可以重构为 类 实现 Callable
、Runnable
或 Consumer
,这将大大提高代码的可读性。
如何为多个表达式的 lambda 执行单独的 类(最好通过 checkstyle)?
我希望尽可能少地看到 ... -> { ...; }
,但是 ... -> ...
也可以。
从 checkstyle 8.37 开始,您可以使用 LambdaBodyLengthCheck,它完全可以满足您的需求。您可以指定 lambda 主体的最大长度,默认为 10。