突然有个可能有点奇怪的问题,举个例子,程序中需要一个整数变量做一个标记,这个标记在程序运行过程中是不断递增的,除非程序停止,现在这个整数变量定义为 int 型,很容易达到上限出现问题,现在改成 long int ,在这个程序中运行很长一段时间,时间长得有生之年都不会遇到达到上限的问题,但是理论上是会的,这种逻辑上的 bug 要不要处理。不处理的话感觉逻辑不严谨,处理的话感觉工程上没必要- -
1
Dye8 2016-10-14 11:29:29 +08:00 via Android
昨天看了一篇文章 说程序员分为保守派和自由派🙈
|
2
ykjsw 2016-10-14 11:31:44 +08:00 via iPhone
不处理
|
3
mooncakejs 2016-10-14 11:33:26 +08:00
timestamp 上限就是 2038 年。
|
4
onlyice 2016-10-14 11:35:25 +08:00
不要,大多数代码的生命周期都不超过几年,何况你这个是有生之年都达不到的上限
|
5
ryd994 2016-10-14 11:56:49 +08:00 via Android 1
注释和文档里注明
以及注明你如何估算以及估算的结论 你要考虑如果有别人要重用代码而别人用了更小的间隔的时候 别让每个阅读你代码的人都浪费时间算一遍 |
6
subpo 2016-10-14 12:01:50 +08:00
不处理,上面说的 timestamp ,还有千年虫问题等
如果你想处理这种问题,那你代码里面有成千上万类似的问题,只是你不知道而已... |
7
imn1 2016-10-14 12:30:57 +08:00
其实所有满足阶段目标的设定,即使不合逻辑,只要在预期内不出错,都不算 bug
例如买东西,可能过段时间能更便宜,但不能说现在就买是浪费 例如考古,将来的考古发掘技术必然比现金更好,但不能说让古物保存在原地留待将来发掘是明智的 |
8
21grams 2016-10-14 13:11:16 +08:00
不需要,这根本就不是 bug ,请仔细理解 bug 的意义。
|
9
sensui7 2016-10-14 13:30:21 +08:00 via iPhone
这也算 bug ,理论上所有程序都有 bug
|
10
shimanooo 2016-10-14 13:32:44 +08:00
64 位不是 32 位的两倍,是 2³²被
|