Срок для унаследованных ошибок репликации? - PullRequest
3 голосов
/ 20 июля 2010

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

Ответы [ 4 ]

4 голосов
/ 20 июля 2010

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

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

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

[...]

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

4 голосов
/ 20 июля 2010

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

3 голосов
/ 20 июля 2010
2 голосов
/ 20 июля 2010

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

...