Из простенького любопытства, кто-нибудь знает термин для репликации ошибок в новой реализации старой системы, чтобы поддерживать обратную совместимость со старыми клиентами, которые полагаются на багги-функциональность? Мне было бы особенно интересно, если бы это означало, что нужно перепроектировать неправильное поведение, чтобы правильно воспроизвести то, что не было в спецификации.Термин для повторной репликации ошибок?
ответ
Я думаю, что это покрывается «обратной совместимостью».
Хороший пример из известного «API Wars» поста Джоэла Спольский в о разработке Windows 3.1:
Наиболее впечатляющие вещи, чтобы прочитать на блоге Реймонд являются рассказами о невероятных усилиях команды Windows, составила более годы для поддержки обратной совместимости.
[...]
я впервые услышал об этом от одного из разработчиков хит игры SimCity, который сказал мне, что там была критическая ошибка в его применении: она использовала память сразу после освобождения его, главное, что-то не получилось нормально работать в DOS, но не будет работать под Windows, где освобожденная память, скорее всего, будет схвачена другим запущенным приложением сразу. Тестеры в команде Windows проходили различные популярные приложения, проверяя их, чтобы убедиться, что они работают нормально, но SimCity продолжал сбой. Они сообщили об этом разработчикам Windows, которые разобрали SimCity, прошли через него в отладчике, обнаружили ошибку, и добавил специальный код, который проверял, был ли SimCity запущен, а если он это сделал, запустил распределитель памяти в специальном режиме в котором вы все еще можете использовать память после ее освобождения.
отличная история !!! –
@ Питер, да, не так ли. Чтение некоторых сообщений Джоэла научило меня уважать Microsoft и их разработчиков, и заставляет меня думать, что некоторые (не все) критики, которые они должны были взять на себя, были несправедливыми. –
Я чувствую запах дыры в безопасности –
Возможно bug-for-bug-compatible.
Я всегда называю это «совместимость crapwards».
Это замечательно. :) –
Я бы согласился на «совместимость с ошибками»: это слишком сложно, чтобы все ошибки были исправлены.
Звучит разумно: я тоже могу согласиться на это. –
"обратная совместимость"? –
"сломанный дизайн"? – David
Ребятам, разрабатывающим Wine (http://winehq.org), постоянно приходится делать это для win32 api :) –