본문으로 바로가기

레거시(Legacy) 코드

category 컴퓨터/기타 2016. 6. 20. 10:39

  정보기술에서, 레거시 프로그램과 데이터는 프로그래밍 언어, 플랫폼 그리고 기술 등에 있어, 과거로 부터 물려 내려온 것들을 의미한다. 컴퓨터를 사용하는 대부분의 기업들은 중요한 업무를 처리하는 레거시 응용프로그램들과 데이터베이스를 가지고 있다.
  문제는, 대체로 새로운 기술과 프로그래머의 솜씨를 사용한 새롭고 보다 효율적인 코드로 변환하는 동안, 레거시 프로그램을 계속 운영시켜야 하는데 있다. 과거에는, 많은 프로그램들이 특정업체의 운영체계에 맞게 작성되어왔다.
   현재, 많은 회사들이 자신들의 레거시 프로그램들을 개방형이나, 표준 프로그래밍 인터페이스를 따르는 새로운 프로그래밍 언어와 운영체계에 맞게 변환하고 있다. 미래에는 응용프로그램들을 재작성하지 않고 새롭게 갱신하는 일이 보다 쉬워질 것이며, 기업들은 어떤 회사의 운영체계에서도 자신들의 응용프로그램을 그대로 사용할 수 있게 될 것이다. 새로운 언어로 바꾸는 것 외에도, 기업들은 응용프로그램과 데이터의 위치를 재배치하고 있다.
   일반적으로 레거시 시스템들은 그것들을 개발했던 플랫폼에서만 운영될 수 있었다. 대체로 새로운 개발환경은 레거시 시스템과 데이터를 계속 지원해야할 필요에 대해 책임을 진다. 많은 새로운 도구들을 이용하여, 새로운 프로그램이 레거시 데이터베이스들을 액세스할 수 있다.
출처 - http://www.terms.co.kr/legacy.htm(텀즈)

한마디로 누군가가 저에게 맡겨놓고 간 오랜 기간동안 많은 시간과 다양한 사람을 거친 ... 코드라고 볼 수 있습니다.
기술은 시간이 지날수록 계속 발전되고 새로운 형태로 변화를 하지만,
기존에 운영하던 코드들을 싹 갈아엎을 순 없습니다.
그러므로 기업에서는 그대로 사용할 수 밖에 없는 것이겠죠.
낙후된 기술로 운영되는 시스템을 유지 보수하다보니 누군가도 손대기 싫어지고, 기능을 추가하기 위해서 억지로 껴놓고..
결국은 아무도 손대기 싫어지는 코드가 될 게 뻔해질겁니다...하하
레거시코드를 검색해 보면 많이 보았을 글귀로 포스팅을 마무리 하겠습니다.


- 누군가 나에게 맡겨놓은 코드
- 자기가 직접 짜지 않은 누군가가 만들어 놓은 코드
- 많은 의문의 그림자와 중압감을 내포한 코드
- 얽히고 설킨, 아둔하게 짜놓은, 갈아엎고 싶지만 그럴 자신이 안 생기는 코드
- 기능이라도 하나 추가할라치면 몇일 밤을 새게 만드는 코드
- 도저히 손댈 수 없어서 팀에서 누구라도 나서지 않는 코드
- 손대면 손댈수록 나락으로 빠져버리는 코드
- 차라리 날 죽여줘 라고 절규하게 만드는 코드
- 개선한다는 생각 자체에 몸서리 치게 만드는 코드