当它们是你(或同事)的错误时,很难解决错误。但是,我们都知道,我们用于实施程序的技术是由像我们这样的绝对正确的人编写的。因此,有些人在实施他们使用的工具时会受到漏洞的影响。
那么,您是否在程序中发现了一个由广泛的底层技术(如编程语言或框架)引起的错误?如果是这样,它是否因某些迹象而失败,或是否以静默方式覆盖某些数据?调试有多难?它是否会导致潜在的安全漏洞?您是否可以联系提供商并确认其已修复(或自行修复)?
以下是一些最糟糕的(在我看来)技术中存在一个错误(尤其是一个无声地失败的技术):
答案 0 :(得分:7)
我每天都会处理一个名为Internet Explorer的内容。
公平地说,所有浏览器都有很多错误。我也为Firefox提交了几个错误,就在前几天我发现了一个奇怪的情况,边框没有考虑填充。
答案 1 :(得分:2)
这是编写大量单元测试的好理由。如果您将平台升级到具有新bug的较新版本,希望您有一个显示错误的测试
在我遇到的一个案例中,供应商正在开发一个全新的API。他们还没有准备好发布新的API,但是他们并不是非常热衷于修复旧版本中的错误,因为他们认为它从$$角度来看已经死了。答案 2 :(得分:2)
一位同事偶然发现了Jikes Java编译器中的一个错误。他有这样的事情:
if (condition)
{
}
else
{
System.out.println("Code that does stuff.");
}
他并没有打算永久地将顶部空位留空,而是在开发期间就这样做了。他发现这个条件被忽略了,除非他在那个区块中发表评论,以便它不再是空的。
答案 3 :(得分:2)
在我(主要)使用Java进行开发的过程中,我遇到了以下组件中的错误:
在我真正相信它是该组件中的错误之前,每次花费相当长的时间(通常是组件供应商的参与)。
是的:误报的情况(即错误实际上在我/我们的代码中)是更常见的数量级。
第三方组件中错误的唯一地方似乎是Web浏览器。当你说“<插入本周的浏览器> 中的错误时,几乎没有人质疑你,我们需要像这样解决它......”。
答案 4 :(得分:1)
我猜几乎所有使用Internet Explorer编写JavaScript的人都发现他们的程序存在一个由广泛的底层技术引起的错误。
失败的指示是Windows桌面上的蓝色“e”。
答案 5 :(得分:0)
我遇到了gcc 4.4.0的问题,但由于我目前正在开发的产品仍然是pre-alpha,因此在本地修复相当容易。希望他们能尽快解决。
答案 6 :(得分:0)
首先想到的是.NET Framework的第1版;由于某种原因,Random.NextDouble()方法从未产生大于0.5的值。我完全感到困惑,并且已经运行了一个测试应用程序,该方法称该方法成千上万次,我不得不假设它是一个错误并且可以解决它。
从未弄清楚原因是什么......
答案 7 :(得分:0)
我在Mipsel(openwrt)的gcc中发现了一个非常奇怪的错误。我们正在测试一个小应用程序(大约3K sloc)给我sigsev,即使代码在理论上得到纠正。
我不知道bug的细节(我不再使用该代码),但将gcc版本从4.1更改为3.6解决问题。