有没来比拼 commit 的,重在真实 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChovyChu
V2EX    Java

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

  •  
  •   ChovyChu 2021-09-29 22:26:39 +08:00 6572 次点击
    这是一个创建于 1540 天前的主题,其中的信息可能已经有所发展或是发生改变。

    23 条回复    2021-10-02 10:49:30 +08:00
    chendy
        1
    chendy  
       2021-09-29 22:52:22 +08:00   17
    快进到几位不长心的网友因为将公司核心代码截图发在 v 站丢了工作
    coolcfan
        2
    coolcfan  
       2021-09-29 23:19:52 +08:00
    Thread.sleep(100)........
    yinusxxxx
        3
    yinusxxxx  
       2021-09-29 23:30:15 +08:00
    为什么要比这个。。。。
    ipwx
        4
    ipwx  
       2021-09-29 23:41:18 +08:00   1
    你给的截图有啥可称道的地方么。。。不过是 annual routine 而已
    BIAOXYZ
        5
    BIAOXYZ  
       2021-09-30 02:20:39 +08:00   1
    我以为你要比 commit 数量,哪位热心 V 友补一下地铁墙面那个格子图吧。。。(手动狗头
    msg7086
        6
    msg7086  
       2021-09-30 03:05:40 +08:00 via Android
    我倒是工作的时候写了不少代码,但是发出来要吃官司的还是算了。
    gollwang
        7
    gollwang  
       2021-09-30 09:08:22 +08:00
    这也卷?
    Kasumi20
        8
    Kasumi20  
       2021-09-30 09:48:01 +08:00   1
    好好的代码,被你改得乱七八糟的
    zhuangzhuang1988
        9
    zhuangzhuang1988  
       2021-09-30 10:16:28 +08:00
    是不是傻?
    kastnerorz
        10
    kastnerorz  
       2021-09-30 10:39:15 +08:00   1
    - Guava 的 `Lists.partition()` 可以解决你的这个分片的问题
    - 不太懂的是,已经 `runAsync`了,为什么要 `Thread.sleep()`,循环里只是添加任务而已,并没有执行任务
    - 而且非常不建议在循环里使用 sleep,如果一定要隔一段时间执行一个任务请使用 `ScheduledExecutorService`
    jadec0der
        11
    jadec0der  
       2021-09-30 10:40:53 +08:00
    你符号前后加不加空格都不统一?就这 IntelliJ 不给你加黄线嘛
    l48x4264l46
        12
    l48x4264l46  
       2021-09-30 10:53:02 +08:00
    兄弟,对于你这个代码,冒昧的提些问题
    1 、最好少用反逻辑
    2 、代码没有分块,全都挤在一起
    3 、该加空格的地方没有加空格
    4 、注释写的有点少
    jimliang
        13
    jimliang  
       2021-09-30 11:09:37 +08:00
    你是来添乱的吧
    zhuangyufeng
        14
    zhuangyufeng  
       2021-09-30 11:12:04 +08:00
    你是故意找茬是吧(狗头)
    yidinghe
        15
    yidinghe  
       2021-09-30 11:17:10 +08:00
    不管出于什么原因,你这么改的目的显然是进行调用限流。然而这不是限流的标准做法,标准做法是先将循环内的部分提取出一个方法,然后使用 sentinel 之类的框架来限流。
    Leviathann
        16
    Leviathann  
       2021-09-30 11:18:18 +08:00 via iPhone
    所以就是加了个分块的逻辑?
    感觉这种非业务的东西直接弄个声明式的 api 调一下会比较清晰吧
    ChovyChu
        17
    ChovyChu  
    OP
       2021-09-30 11:40:46 +08:00
    统一回复一下吧,这个是我刚接手的一个项目,最近经常会做一些 review 和看一些老代码,当时就看到这里。

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

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

    另外就是我想了一下确实我这图可能没体现出来重点。。
    AoEiuV020
        18
    AoEiuV020  
       2021-09-30 14:44:54 +08:00
    是时间祭出我印象最深的两个极大幅优化了,
    一个是把字符串拆成字符遍历,再把字符转成字符串用正则判断是否中文,而且正则还不预编译,
    ?1
    一个是数据库查个 count 直接查出所有数据再遍历,还在每个循环节调用三次 queryForAll 完整读取 3n 次数据库,
    ?1
    astkaasa
        19
    astkaasa  
       2021-09-30 16:15:56 +08:00
    我一般这么写
    IntStream.range(0, (list.size() + BATCH - 1) / BATCH)
    .mapToObj(i -> list.subList(i * BATCH, Math.min(list.size(), (i + 1) * BATCH))).forEach(batch -> {
    });
    zm8m93Q1e5otOC69
        20
    zm8m93Q1e5otOC69  
       2021-09-30 21:54:23 +08:00
    分片处理? guava 一个 api 就解决了
    nuobao
        21
    nuobao  
       2021-10-01 00:46:58 +08:00
    谢谢,提醒了我写过的代码要多 review 。
    WispZhan
        22
    WispZhan  
       2021-10-01 15:12:14 +08:00 via Android
    这么长的代码,点都不想点。直接 close pr
    csfreshman
        23
    csfreshman  
       2021-10-02 10:49:30 +08:00
    注释太少,在我司肯定不会 merge,另外公司这种代码尽量不要贴出来,没看出来有啥贴出来的必要。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     889 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 21:32 PVG 05:32 LAX 13:32 JFK 16:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86