V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
veezzz
V2EX  ›  问与答

逻辑上的 bug 但是工程上有生之年不会出现的问题,算不算 bug,要不要处理

  •  
  •   veezzz · 2016-10-14 11:26:25 +08:00 · 2188 次点击
    这是一个创建于 2991 天前的主题,其中的信息可能已经有所发展或是发生改变。

    突然有个可能有点奇怪的问题,举个例子,程序中需要一个整数变量做一个标记,这个标记在程序运行过程中是不断递增的,除非程序停止,现在这个整数变量定义为 int 型,很容易达到上限出现问题,现在改成 long int ,在这个程序中运行很长一段时间,时间长得有生之年都不会遇到达到上限的问题,但是理论上是会的,这种逻辑上的 bug 要不要处理。不处理的话感觉逻辑不严谨,处理的话感觉工程上没必要- -

    10 条回复    2016-10-14 13:32:44 +08:00
    Dye8
        1
    Dye8  
       2016-10-14 11:29:29 +08:00 via Android
    昨天看了一篇文章 说程序员分为保守派和自由派🙈
    ykjsw
        2
    ykjsw  
       2016-10-14 11:31:44 +08:00 via iPhone
    不处理
    mooncakejs
        3
    mooncakejs  
       2016-10-14 11:33:26 +08:00
    timestamp 上限就是 2038 年。
    onlyice
        4
    onlyice  
       2016-10-14 11:35:25 +08:00
    不要,大多数代码的生命周期都不超过几年,何况你这个是有生之年都达不到的上限
    ryd994
        5
    ryd994  
       2016-10-14 11:56:49 +08:00 via Android   ❤️ 1
    注释和文档里注明
    以及注明你如何估算以及估算的结论
    你要考虑如果有别人要重用代码而别人用了更小的间隔的时候
    别让每个阅读你代码的人都浪费时间算一遍
    subpo
        6
    subpo  
       2016-10-14 12:01:50 +08:00
    不处理,上面说的 timestamp ,还有千年虫问题等
    如果你想处理这种问题,那你代码里面有成千上万类似的问题,只是你不知道而已...
    imn1
        7
    imn1  
       2016-10-14 12:30:57 +08:00
    其实所有满足阶段目标的设定,即使不合逻辑,只要在预期内不出错,都不算 bug
    例如买东西,可能过段时间能更便宜,但不能说现在就买是浪费
    例如考古,将来的考古发掘技术必然比现金更好,但不能说让古物保存在原地留待将来发掘是明智的
    21grams
        8
    21grams  
       2016-10-14 13:11:16 +08:00
    不需要,这根本就不是 bug ,请仔细理解 bug 的意义。
    sensui7
        9
    sensui7  
       2016-10-14 13:30:21 +08:00 via iPhone
    这也算 bug ,理论上所有程序都有 bug
    shimanooo
        10
    shimanooo  
       2016-10-14 13:32:44 +08:00
    64 位不是 32 位的两倍,是 2³²被
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5891 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:49 · PVG 10:49 · LAX 18:49 · JFK 21:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.