引言
Java8 的函数式代码风格在Stream的使用上尤为突出。尽管我们可以通过连续调用函数完成一系列操作,但是其可读性并不能保证,还需要有与之相辅的Code Style。例如,请尝试阅读下面两段完全相同的代码:
未遵守约定格式:
int result = values.stream().filter(e -> e > 3).filter(e -> e % 2 == 0).map(e -> e * 2).findFirst().orElse(0);
遵守约定格式:
int result = values.stream().filter(e -> e > 3).filter(e -> e % 2 == 0).map(e -> e * 2).findFirst().orElse(0);
可以看到,第一段代码虽然采用了函数式编程,但是依然没有增加代码的可读性;而第二段代码由于采用了Java8 的约定格式而极大地提升了代码的可读性。这就是Java 8 “对齐约定”,它建议我们对齐函数组合在垂直方向上的各点。
Eclipse的代码格式化功能可以很好的解决这个问题。
Eclipse自定义格式化
打开Window -> Preferences
说明:Active profile 一栏不论是什么都无所谓。
调整下图中红框内的设置,与下图保持一致。
你可以尝试其他的风格设置,不过经过尝试,上图的设置为最佳设置,且不会导致过度的格式化。
设置完成后,进行效果测试:
最终效果:
鸣谢
《Java 8 习惯用语 第 4 部分——提倡使用有帮助的编码》