모두가 소프트웨어 개발에서 레거시 코드에 대해 이야기하고 있으며 지난 10 년 동안 코드베이스를 나쁜 것으로 묘사하는 데 사용되는 용어를 들었습니다.
프로그래머들에게 그러한 강력한 의미가있는이 용어는 어디에서 유래 했는가?
이 용어를 개척 한 소프트웨어 개발에 관한 책이 반드시 있어야합니다. "레거시 코드"라는 용어의 원점을 찾고 싶습니다.
모두가 소프트웨어 개발에서 레거시 코드에 대해 이야기하고 있으며 지난 10 년 동안 코드베이스를 나쁜 것으로 묘사하는 데 사용되는 용어를 들었습니다.
프로그래머들에게 그러한 강력한 의미가있는이 용어는 어디에서 유래 했는가?
이 용어를 개척 한 소프트웨어 개발에 관한 책이 반드시 있어야합니다. "레거시 코드"라는 용어의 원점을 찾고 싶습니다.
답변:
레거시 코드는 코드에 특별히 적용되는 레거시 시스템 의 문구를 기반으로합니다 . Wikipedia에 따르면 아마도 1970 년대로 거슬러 올라 갔으며 1980 년대에 일반적으로 사용되었습니다. 1990 년대의 기술 폭발로 시작되었습니다.
이것은 구글의 ngram 뷰어에서 볼 수 있습니다 : 레거시 시스템, 레거시 코드
더 자세히 살펴보면 1970 년대 에 '레거시 시스템'이라는 용어의 문서화 된 사용법을 찾을 수 있습니다 .
구글이 가지고있는 '레거시 시스템'의 가장 초기 사례는 1978 년 육군 수치 해석 및 컴퓨터 컨퍼런스의 절차 에 관한 책에있다 .
... 명확하게 정의 된 문제에 대한 잘 짜여진 문서화 된 솔루션은 레거시 시스템 운영을 이해하고 기존 시스템을 자신있게 변경해야한다는 것입니다.
Clout : Womanpower and Politics grin 1976 의 기술 산업 외부에서 사용되는 '레거시 시스템'의 예도 있습니다 .
... 또한, 그녀는 강력한 은행 및 통화위원회에서 레거시 시스템을 통하지 않고 스스로 구축 한 권력의 위치에서 3 위 민주당으로 자리를 잡았습니다.
그 사용을 보여주는 이러한 예를 넘어 순수한 소프트웨어 세계를 넘어서서, 그 용어가 정확히 어디에서 유래했는지에 대한 세부 사항은 아마도 시간의 흐름으로 사라질 것입니다. 군사 및 정치적 언급을 감안할 때, 그것은 주로 (그들과 유래했을 수 있습니다 군사 및 전문 용어 마이그레이션 ( "그것은 그 'KLUGE'전쟁 중에 프로젝트 캠브리지에서 실행되는 많은 군사 전자의 동문을 통해 MIT에 온 (많은 것에있는 것으로 보인다 TMRC를 수용 한 MIT의 유서 깊은 빌딩 20 ... " ))
레거시 코드베이스는 일반적으로 POS 시스템이 아니라 코드베이스 나 시스템에 더 이상 새로운 개발에 사용되지 않는 시스템을 말합니다. 예를 들어, 우리 팀은 현재 레거시 코드로 간주되는 몇 가지 .net 1.1 및 2.0 응용 프로그램을 지원합니다. 수정이 필요한 시간이 오면 최신 프레임 워크 및 표준을 사용하도록 다시 작성되거나 업데이트됩니다. 그때까지는 계속 작동해야하지만 개선 사항이나 코드 수정이 구현되지 않은 레거시 응용 프로그램으로 관리합니다.
VB6 및 Classic ASP로 작성된 시스템을 전혀 지원하지 않는 레거시 시스템도 있습니다. 이러한 시스템을 지원하거나 수정할 수있는 용량이나 지침은 없지만 시스템이 계속 실행되고 개선이 필요하지 않으면 업데이트되지 않을 것입니다. 이러한 시스템에는 특별한 문제가 없습니다. 90 년대 중반부터 후반까지 앱처럼 보이는 것 외에는해야 할 일을 제외하고는 큰 문제가 없습니다.
따라서 레거시가 POS가 이전 표준이나 최신 표준이 아닌 언어로 작성된 시스템을 의미하는 것은 아닙니다. 일부 레거시 시스템은 관리 코드와 베테랑 웹 코더에 대한 15 년 이상의 경험을 제공 할 수있는 개발 방법론이 부족했기 때문에 POS로 적합합니다.
"레거시 코드"는 사람들이 마케팅을 통해 코드가 오래되었지만 (아마도 잘 작동 할 수 있음) 최신의 가장 큰 (그리고 아마도 버그가 많은) 소프트웨어 언어 및 기술로 업데이트하도록 압력을 가하는 데 사용되는 용어입니다. "레거시 시스템"과 밀접하게 연결되어 있습니다.이 시스템은 제대로 작동하지만 현재 "정치적으로 올바른"항목 (예 : OpenVMS, IBM 시스템)을 준수하지 않는 이전 하드웨어 및 운영 체제를 나타냅니다.
레거시 코드 라는 용어 는 comp.sys.amiga 에서 Glenn Everhart가 사용한 1989 년 이상입니다 .
(... 그런데, 그래, 내가 할 도 C에서 가끔 프로그램을 ...하지만 난 쉽게 변환 할 찾을 레거시 코드를 ... / O가 언어를 변경 승)
Google 도서에서 이전에 확인할 수있는 것이 없습니다.