3

有没来比拼 commit 的,重在真实

 2 years ago
source link: https://www.v2ex.com/t/805261
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  Java

有没来比拼 commit 的,重在真实

  ChovyChu · 1 天前 · 3383 次点击
21 条回复    2021-10-01 00:46:58 +08:00

chendy

chendy   1 天前   ❤️ 14

快进到几位不长心的网友因为将公司核心代码截图发在 v 站丢了工作

coolcfan

coolcfan   1 天前

Thread.sleep(100)........

yinusxxxx

yinusxxxx   1 天前

为什么要比这个。。。。

ipwx

ipwx   1 天前   ❤️ 1

你给的截图有啥可称道的地方么。。。不过是 annual routine 而已

BIAOXYZ

BIAOXYZ   1 天前   ❤️ 1

我以为你要比 commit 数量,哪位热心 V 友补一下地铁墙面那个格子图吧。。。(手动狗头

msg7086

msg7086   23 小时 39 分钟前 via Android

我倒是工作的时候写了不少代码,但是发出来要吃官司的还是算了。

gollwang

gollwang   17 小时 36 分钟前

Kasumi20

Kasumi20   16 小时 56 分钟前   ❤️ 1

好好的代码,被你改得乱七八糟的

zhuangzhuang1988

zhuangzhuang1988   16 小时 28 分钟前

是不是傻?

kastnerorz

kastnerorz   16 小时 5 分钟前   ❤️ 1

- Guava 的 `Lists.partition()` 可以解决你的这个分片的问题
- 不太懂的是,已经 `runAsync`了,为什么要 `Thread.sleep()`,循环里只是添加任务而已,并没有执行任务
- 而且非常不建议在循环里使用 sleep,如果一定要隔一段时间执行一个任务请使用 `ScheduledExecutorService`

jadec0der

jadec0der   16 小时 4 分钟前

你符号前后加不加空格都不统一?就这 IntelliJ 不给你加黄线嘛

l48x4264l46

l48x4264l46   15 小时 51 分钟前

兄弟,对于你这个代码,冒昧的提些问题
1 、最好少用反逻辑
2 、代码没有分块,全都挤在一起
3 、该加空格的地方没有加空格
4 、注释写的有点少

jimliang

jimliang   15 小时 35 分钟前

你是来添乱的吧

zhuangyufeng

zhuangyufeng   15 小时 32 分钟前

你是故意找茬是吧(狗头)

yidinghe

yidinghe   15 小时 27 分钟前

不管出于什么原因,你这么改的目的显然是进行调用限流。然而这不是限流的标准做法,标准做法是先将循环内的部分提取出一个方法,然后使用 sentinel 之类的框架来限流。

Leviathann

Leviathann   15 小时 26 分钟前 via iPhone

所以就是加了个分块的逻辑?
感觉这种非业务的东西直接弄个声明式的 api 调一下会比较清晰吧

ChovyChu

ChovyChu   15 小时 4 分钟前

统一回复一下吧,这个是我刚接手的一个项目,最近经常会做一些 review 和看一些老代码,当时就看到这里。

不知道大家有没看明白这个 commit 到底是在改做什么。

我当时看到这里就很疑惑,想了半天才发现这里他其实就是希望做一个每批任务处理完成之后做一个 sleep 延迟。就是这么简单一个功能尽然写了一大堆,结果还是错的。

另外就是我想了一下确实我这图可能没体现出来重点。。

AoEiuV020

AoEiuV020   12 小时 0 分钟前

是时间祭出我印象最深的两个极大幅优化了,
一个是把字符串拆成字符遍历,再把字符转成字符串用正则判断是否中文,而且正则还不预编译,
?1
一个是数据库查个 count 直接查出所有数据再遍历,还在每个循环节调用三次 queryForAll 完整读取 3n 次数据库,
?1

astkaasa

astkaasa   10 小时 29 分钟前

我一般这么写
IntStream.range(0, (list.size() + BATCH - 1) / BATCH)
.mapToObj(i -> list.subList(i * BATCH, Math.min(list.size(), (i + 1) * BATCH))).forEach(batch -> {
});

beichenhpy

beichenhpy   4 小时 50 分钟前

分片处理? guava 一个 api 就解决了

qinwangzeng

qinwangzeng   1 小时 58 分钟前

谢谢,提醒了我写过的代码要多 review 。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK