哪里有存储函数的首选位置以提高流的可读性?
例如:
private BinaryOperator<Cash> sumPayments() {
return (payment1, payment2) -> payment1.sum(payment2);
}
我不确定它是否应该在使用它的服务类中,但也许它会在许多地方,所以对一些额外的静态Utils有什么看法?还是在实体中?
答案 0 :(得分:3)
尽可能避免不必要的辅助方法。
在这个特定的例子中,辅助方法可以很容易地用方法引用替换,方法引用(可以说是 more )可读:
Cash total = subtotals.stream().reduce(Cash.ZERO, Cash::sum);
在其他情况下,您确实需要帮助程序:考虑一年中搜索此类帮助程序方法的位置,当您必须根据新要求调整现在几乎不熟悉的代码时。