2010-07-20 5 views
3

놀랍지 않은 호기심으로, 버그가있는 기능에 의존하는 이전 클라이언트와의 하위 호환성을 유지하기 위해 오래된 시스템의 새로운 구현에서 버그를 복제하는 용어를 아는 사람이 있습니까? 특히 사양에 맞지 않는 내용을 올바르게 복제 할 수 있도록 부정확 한 동작을 리버스 엔지니어링해야한다는 의미를 포함한다면 특별히 관심을 가질 것입니다.레거시 버그 복제 용어는 무엇입니까?

+3

"하위 호환"? –

+3

"디자인별로 손상되었습니다"? – David

+0

Wine (http://winehq.org)을 개발중인 사람들은 Win32 API에 대해이 작업을 수행해야합니다. –

답변

4

"거꾸로 호환성"이 적용됩니다.

윈도우 3.1의 개발에 대한 Spolsky 조엘의 유명한 "API Wars"포스트에서 좋은 예 : 레이몬드의 블로그에 읽을 수있는

가장 인상적인 일들이 윈도우 팀이 이상했다 놀라운 노력의 이야기입니다 하위 호환성을 지원하는 년.

[...]

내가 먼저 자신의 애플리케이션에서 중요한 버그가 있다고 얘기 히트 게임 심시티의 개발자 중 하나 이것에 대해 들었 : 그것은 바로 그것을 해제 후 메모리를 사용, DOS에서 OK로 작동했지만 Windows에서 작동하지 않는 주요 no-no는 해제 된 메모리가 다른 실행중인 응용 프로그램에 즉시 영향을받을 수 있습니다. Windows 팀의 테스터는 여러 가지 인기있는 응용 프로그램을 거치면서 제대로 작동하는지 테스트했지만 SimCity는 계속 충돌했습니다. 그들은 SimCity를 해체 한 Windows 개발자에게이를보고하고 버그를 발견하고 에 SimCity가 실행 중인지 확인하는 특별 코드을 추가했으며, 실행 한 경우 은 특수 모드로 메모리 할당기를 실행했습니다. 그것을 해제 한 후에도 메모리를 사용할 수 있습니다..

+0

great story !!! –

+1

@Peter yeah, 그렇지 않습니까. Joel의 게시물 중 일부를 읽으면서 Microsoft와 개발자들에게 존경심을 표하는 바가 많았습니다. 그리고 수년 동안 받아야했던 비판 중 일부 (전부는 아님)가 불공평하다고 생각하게합니다. –

+0

나는 보안 구멍 냄새가 난다 –

4

나는 항상 "쓰레기 호환성"이라고 부릅니다.

+0

좋은 소식입니다. :) –

2

나는 '버그 호환'으로 해결하겠다 : 모든 버그를 제대로 잡기는 너무 어렵다.

+0

합리적으로 들린다 : 나도 그렇게 할 수있다. –