×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

Topic

  • 工作学习 / 学科技术 / 我发现程序员还是有前途的,同事把自己的程序修改改成下面的形式: +1

    if abs(aVal) < threshold begin

    ...

    end

    被改成:

    if aVal < threshold begin

    ...

    end

    if aVal > -threshold begin

    ...

    end

    有问题吗?

    • 可能那三个点不完全一样?
      • 完全一样
    • 两个条件要 and一下
    • Junior? +1
    • The original code will catch the value of [-T, +T] only. After the change, any value would be caught by either of the two IFs.
      • Eventually the modified code will catch everything. 😄
        • Tell us more about your co-worker please 😁
    • 新的这两个条件,除非正好相等,要不总会满足一个吧
      • 要是0就会覆盖头一个结果,何况要是变量如何能-也是问题,这程序员没有一点逻辑素质和编程素质 +1
    • 错的没谱了 +3
    • 就业机会来了 +1
      • Lol, 这才是关键 +1
    • 也许是 aVal 的使用状况变了?是否有需求修改说明,这么改,也许是新的需求导致
      • 看起来不像是新的需求。 +1
        • 就是手枓
        • 如没新需求,之前的写法也可能有缺陷的,可能是为了修补之前的漏洞而改,但新的做法的确也有bug,还是要看看需求如何
    • 拉出去, 痛打!!! +2
    • 原来是绝对值在范围内才做,改后符合条件的,干了两遍,不符合条件的,干了一遍,恰好相等的没干着。
    • 有的时候一帮人开会讨论这类事情,我都插不上嘴,感觉没有team work 需要反省 +2
      • 所谓的teamwork就是你花一个半小时让一群弱智明白一个简单的逻辑和实现。 +1
        • 错!,teamwork是你交朋友的,不是让你教人做题的。越是弱智,越可能成为好朋友,铁哥们,你去跟马斯克爱因斯坦套近乎,人家根本不理你 +1
    • 你同事看错了。从数学上看,你之前的代码改成threshold > abs(aVal) 逻辑上会比较顺。
    • 可能这个数值在正值的情况多,因为毕竟取abs复杂度还是有k常数在o(1)的范畴内。亦或者if else在机器码层面也许执行周期略小于abs.....
    • 当然有问题,初学者的错误。自己写个unit test就知道了。估计初学的连unit test也写不对,再找个test coverage的工具run一下 +1