오래된 문서를 말한다. 현업에서는 "기존에 개발되어있던 원본 코드"라고 사용되기도 한다.
우리가 개발을 하다보면 신규 개발건도 있지만 기존의 코드를 고도화 하는 작업도 하게 된다. 여기에서 기존의 코드를 레거시 코드라고 일컫는다.
레거시 코드의 특징은 다음과 같다.
1. 구식 기술 스택
레거시 코드는 종종 오래된 프로그래밍 언어, 프레임워크 또는 라이브러리를 사용하여 작성되는데 이로 인해 최신 기술과의 호환성 문제가 발생할 수 있다.
2. 유지보수의 어려움
코드가 복잡하거나 문서화가 부족하여 이해하고 수정하기 어려운 경우가 많다. 1번의 이유이다. 오래된 프로그래밍 언어이거나 오래된 개발자가 구식의 코드를 작성했다면 이해하기 어렵고 수정하기 어렵다.
이는 신규 투입된 개발자들이 새로운 기능을 추가하거나 버그를 수정하는 데 어려움을 겪게 된다.
그렇지만 고객사는 기다려주지않는다. 언제되냐? 다 됐냐? 식으로 보채기만 하기때문에 시간에 쫓기게 된다.
3. 테스트 부족
레거시 코드에는 자동화된 테스트가 부족한 경우가 많아, 변경 시 기존 기능이 제대로 작동하는지 확인하기 어려울수 있다.
물론 형식적으로 겉보기에 동작이 잘 되는거라고 생각하지만. 의외로 뜯어보면 하드코딩 되어있는 경우도 잦고 console에 오류가 덕지덕지 뜨지만 동작은 제대로 돌아가고 있는... 뭐 그런 코드들이 있기도 하다.
4. 기능적 제한
레거시 시스템은 종종 새로운 비즈니스 요구 사항이나 기술적 요구 사항을 충족하지 못하는 경우가 많다. 이로 인해 새로운 기능을 추가하는 것이 복잡해질 수 있다.
5. 기술 부채
레거시 코드는 기술 부채(technical debt)를 축적할 수 있다.
이는 시간이 지남에 따라 유지보수 비용이 증가하고, 새로운 기술 도입이 어려워지는 결과를 초래한다.
이와같이 현업에서 개발자 생활을 하다보면 많이 쓰이는 레거시 코드 라는 용어에 대해서 알아봤다.
'일상 > 알쏭달쏭 IT용어' 카테고리의 다른 글
ERP란 무엇인가? (0) | 2024.08.13 |
---|---|
개발 포지션? 개발 관련 역할? 용어 (0) | 2024.08.12 |
고도화란 무엇인가 (0) | 2024.08.10 |
ASAP? (0) | 2024.08.08 |
As-is와 To-be (0) | 2024.08.07 |