3

出于好奇,是否有人知道在旧系统的新实现中复制错误以保持与依赖错误功能的旧客户端的向后兼容性的术语?如果它包含必须对不正确的行为进行逆向工程以便正确复制不符合规范的内容的含义,我会特别感兴趣。

4

4 回答 4

4

我认为这包括在“向后兼容性”中。

Joel Spolsky 著名的“ API Wars ”帖子中关于 Windows 3.1 开发的一个很好的例子:

在 Raymond 的博客上阅读的最令人印象深刻的内容是 Windows 团队多年来为支持向后兼容性所做的令人难以置信的努力的故事。

[...]

我第一次从热门游戏 SimCity 的一位开发人员那里听说了这一点,他告诉我,他的应用程序中存在一个严重错误:它在释放内存后立即使用了内存,这是一个重大的禁忌,碰巧在 DOS 上运行良好,但在 Windows 下无法正常工作,在 Windows 下,释放的内存可能会立即被另一个正在运行的应用程序抢走。Windows 团队的测试人员正在检查各种流行的应用程序,测试它们以确保它们运行良好,但 SimCity 不断崩溃。他们向 Windows 开发人员报告了这一情况,他们反汇编了 SimCity,在调试器中逐步检查它,发现了错误,并添加了特殊代码来检查 SimCity 是否正在运行,如果是,则以特殊模式运行内存分配器释放内存后仍然可以使用内存.

于 2010-07-20T17:04:59.830 回答
4

我总是称其为“crapwards 兼容性”。

于 2010-07-20T17:05:00.687 回答
3

也许bug-for-bug-compatible

于 2010-07-20T17:04:50.913 回答
2

我会满足于“错误兼容”:要正确处理所有错误太难了。

于 2010-07-20T17:06:13.280 回答