Java 项目该不该用 stream 流来编写代码?考虑 code viewer

2022-03-30 18:11:49 +08:00
 w741069229
8454 次点击
所在节点    Java
95 条回复
bertonzh
2022-03-31 10:26:58 +08:00
22 年了大概只有 Java 圈才会出现这种问题...
byte10
2022-03-31 10:27:37 +08:00
@RobberPhex 这个是核心问题,一直觉得 stream 有哪里不对,原来在你这里。😄
intmax2147483647
2022-03-31 10:29:28 +08:00
说抛空指针不好查的的🤣你不知道在流中对空的处理吗
dayudayupao
2022-03-31 10:35:06 +08:00
Stream 需要什么可读性,跟业务逻辑代码比起来,这几个集合操作的复杂度有啥,还是把重心放在业务逻辑代码的清晰上来吧,这种语法糖怎么可能承载太多逻辑
Magentaize
2022-03-31 10:48:16 +08:00
在 stream 里说 NPE ,栈的怕是不会正确使用 stream ?
anzu
2022-03-31 10:57:13 +08:00
看情况,禁止在调用链中写一堆代码,类似 .filter(d -> { /*这里有 10 行代码*/ })
clf
2022-03-31 10:57:17 +08:00
stream 除了一些小坑( localthread 相关)外,都挺好的。对于可读性的提升也是很大的,相对来说,可以很清晰的知道这份 stream 输出的数据经过了哪些流程。
nulIptr
2022-03-31 11:23:17 +08:00
2022 年是 linq 发布的第 14 年,stream api 发布的第 8 年。居然还有人讨论这个问题。
fewok
2022-03-31 11:47:07 +08:00
2022 年了,其实可提出,该不该用 java 了,毕竟其他编程语言也是不错的
WispZhan
2022-03-31 12:25:40 +08:00
你们是不是都不屑写 ut ,单元测试?
selca
2022-03-31 12:52:38 +08:00
读个 lambda 都读不明白,啥 reviewer ,水准这么低
uSy62nMkdH
2022-03-31 13:06:37 +08:00
建议上一段你们产生争议的代码看看。
zbatman
2022-03-31 13:22:34 +08:00
@fewok 我觉得所有公司应该立马把 Java 写的业务系统全撤了,换成其他不错的编程语言,直接让 Java 进垃圾堆
mauve
2022-03-31 13:46:46 +08:00
程序员就该写程序员该写的东西!
zw1one
2022-03-31 13:52:51 +08:00
没必要一刀切,写 for 也有写得恶心的,不是 stream 的问题,是写的人有没有维护代码可读性意识的问题。
siweipancc
2022-03-31 14:01:11 +08:00
不应该用范型,注解也不该用,毕竟大佬可以不学,你不可以不听他的话
NoKey
2022-03-31 14:13:08 +08:00
@vate32 先不说能不能用;处理集合效率高,这个值得讨论讨论。。。
NoKey
2022-03-31 14:14:13 +08:00
@WebKit 性能更好从何说起?
NoKey
2022-03-31 14:20:17 +08:00
太多一刀切的说法,还有说因为不让用 stream 直接换公司的。。。
学 java 的同时,学习一下其他语言
各种语言提供的语法糖不同
如楼上有人说的,如果没有 stream ,各种分组,过滤,排序就不会写了
这实际上是有问题的
当然,要觉得自己这辈子在程序员这路上,只用 java ,且都在 1.8 版本以上,那也没啥问题
TWorldIsNButThis
2022-03-31 14:33:10 +08:00
@EscYezi 还有 eclipse collections
Java 官方视频拿 java17 的 stream 跟它对比,说难道更好的抽象(指 eclipse collections )一定会有更差的性能吗?结论为不是,因为 eclipse collections 在他们给出的几个用例下抽象更好且速度也更快 XD

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/843929

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX