V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChovyChu
V2EX  ›  Java

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

  •  
  •   ChovyChu · 65 天前 · 4946 次点击
    这是一个创建于 65 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    另外就是我想了一下确实我这图可能没体现出来重点。。
    AoEiuV020
        18
    AoEiuV020  
       65 天前
    是时间祭出我印象最深的两个极大幅优化了,
    一个是把字符串拆成字符遍历,再把字符转成字符串用正则判断是否中文,而且正则还不预编译,
    ?1
    一个是数据库查个 count 直接查出所有数据再遍历,还在每个循环节调用三次 queryForAll 完整读取 3n 次数据库,
    ?1
    astkaasa
        19
    astkaasa  
       65 天前
    我一般这么写
    IntStream.range(0, (list.size() + BATCH - 1) / BATCH)
    .mapToObj(i -> list.subList(i * BATCH, Math.min(list.size(), (i + 1) * BATCH))).forEach(batch -> {
    });
    beichenhpy
        20
    beichenhpy  
       64 天前
    分片处理? guava 一个 api 就解决了
    qinwangzeng
        21
    qinwangzeng  
       64 天前
    谢谢,提醒了我写过的代码要多 review 。
    WispZhan
        22
    WispZhan  
       64 天前 via Android
    这么长的代码,点都不想点。直接 close pr
    csfreshman
        23
    csfreshman  
       63 天前
    注释太少,在我司肯定不会 merge,另外公司这种代码尽量不要贴出来,没看出来有啥贴出来的必要。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2261 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:07 · PVG 21:07 · LAX 05:07 · JFK 08:07
    ♥ Do have faith in what you're doing.