2010-07-20 2 views
3

Из простенького любопытства, кто-нибудь знает термин для репликации ошибок в новой реализации старой системы, чтобы поддерживать обратную совместимость со старыми клиентами, которые полагаются на багги-функциональность? Мне было бы особенно интересно, если бы это означало, что нужно перепроектировать неправильное поведение, чтобы правильно воспроизвести то, что не было в спецификации.Термин для повторной репликации ошибок?

+3

"обратная совместимость"? –

+3

"сломанный дизайн"? – David

+0

Ребятам, разрабатывающим Wine (http://winehq.org), постоянно приходится делать это для win32 api :) –

ответ

4

Я думаю, что это покрывается «обратной совместимостью».

Хороший пример из известного «API Wars» поста Джоэла Спольский в о разработке Windows 3.1:

Наиболее впечатляющие вещи, чтобы прочитать на блоге Реймонд являются рассказами о невероятных усилиях команды Windows, составила более годы для поддержки обратной совместимости.

[...]

я впервые услышал об этом от одного из разработчиков хит игры SimCity, который сказал мне, что там была критическая ошибка в его применении: она использовала память сразу после освобождения его, главное, что-то не получилось нормально работать в DOS, но не будет работать под Windows, где освобожденная память, скорее всего, будет схвачена другим запущенным приложением сразу. Тестеры в команде Windows проходили различные популярные приложения, проверяя их, чтобы убедиться, что они работают нормально, но SimCity продолжал сбой. Они сообщили об этом разработчикам Windows, которые разобрали SimCity, прошли через него в отладчике, обнаружили ошибку, и добавил специальный код, который проверял, был ли SimCity запущен, а если он это сделал, запустил распределитель памяти в специальном режиме в котором вы все еще можете использовать память после ее освобождения.

+0

отличная история !!! –

+1

@ Питер, да, не так ли. Чтение некоторых сообщений Джоэла научило меня уважать Microsoft и их разработчиков, и заставляет меня думать, что некоторые (не все) критики, которые они должны были взять на себя, были несправедливыми. –

+0

Я чувствую запах дыры в безопасности –

4

Я всегда называю это «совместимость crapwards».

+0

Это замечательно. :) –

2

Я бы согласился на «совместимость с ошибками»: это слишком сложно, чтобы все ошибки были исправлены.

+0

Звучит разумно: я тоже могу согласиться на это. –