w741069229 最近的时间轴更新
w741069229

w741069229

V2EX 第 467748 号会员,加入于 2020-02-04 10:25:02 +08:00
今日活跃度排名 10937
Java 项目该不该用 stream 流来编写代码?考虑 code viewer
Java  •  w741069229  •  2022-04-09 21:53:55 PM  •  最后回复来自 yoloMiss
95
大家有没有觉得 15.4 掉电速度变快了?
iOS  •  w741069229  •  2022-03-23 11:31:15 AM  •  最后回复来自 shervy
45
技术对应的薪酬的问题?
问与答  •  w741069229  •  2022-03-18 17:28:13 PM  •  最后回复来自 Tumblr
14
公司如何选?大佬推荐下
职场话题  •  w741069229  •  2022-02-25 14:41:22 PM  •  最后回复来自 zalss
2
w741069229 最近回复了
23 天前
回复了 LuckyRock 创建的主题 成都 求租天府四街银泰城附近套一
23 天前
回复了 LuckyRock 创建的主题 成都 求租天府四街银泰城附近套一
还在租吗? 我这里有,不知道你愿意租不,套三,但是想相当于套二.可以按月付房租.1600 一个月.无押金.但是搬家要提前一个月说,可以做饭.tg: @jiaming_jack
同意楼上老哥的说法,你的简历不够花,亮点不够
具有 6 年 Linux ( CentOS 、Ubuntu )下的使用及开发经验,同时兼任各项目的部署及维护工作。这句去掉,才工作两年,就 6 年
166 天前
回复了 royedia 创建的主题 成都 有成都工作内推群吗
当个分母
176 天前
回复了 royedia 创建的主题 成都 有成都工作内推群吗
后端在招,可以推
2022-04-28 23:11:04 +08:00
回复了 userKamtao 创建的主题 问与答 关于升本,我弃考了
@Otho 同意你的观点
2022-04-08 09:28:20 +08:00
回复了 w741069229 创建的主题 Java Java 项目该不该用 stream 流来编写代码?考虑 code viewer
感谢各位大佬的回复,我们就基于这个问题,站在`code review`的角度,和`debug`的角度,看下下面这段,

1. @TWorldIsNButThis 大佬说,`stream`的`filter`算子都是无状态的,这一点我同意,本质如下面这段代码,其实只有`map`和`flatmap`会引入时间的复杂度
2. 站在`review`的角度,如果我们要兼容向下的同学,那么这段代码是否存在复杂性的难度?
3. 站在`debug`的角度,我们是否引入了新的**断点**(就是`stream`是无状态的,导致断点其实有时候不太好懂)问题呢?譬如,`idea`可以使用`debug`中的计算器模式进行
4. 站在代码整个的观感角度,下面这段代码是否可以理解不具备代码简洁特性以及代码的整体都美感上
5. 站在代码的复用性上,我认为`steam`的代码其实是对业务有更高的要求,因为我觉得`stream`的复用性其实蛮低的,如果要改的话,就会牵一发而动全身.
6. 站在异常的处理上,我认为`stream`其实是在更严谨的要求一个编程人员对一段结果中产生异常的一个预判,我认为更能锻炼编码人员的功底吧

```java
Optional.ofNullable(search)
.map(SearchResponse::getHits)
.ifPresent(hits -> StreamSupport
.stream(hits.spliterator(), false)
.filter(Objects::nonNull)
.filter(SearchHit::hasSource)
.filter(this::filter)
.......会是 filter
.map(SearchHit::getSourceAsMap)
.filter(Objects::nonNull)
.map(Map::entrySet)
.flatMap(Collection::stream)
.filter(Objects::nonNull)
.map(this::map)
.forEach(.....)
);
```
以上是小弟对`stream`一点见解,希望大家能对我的看法进行批判和讨论吧
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2111 人在线   最高记录 6067   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 09:42 · PVG 17:42 · LAX 02:42 · JFK 05:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.