본문 바로가기
메모하는 습관

[개발 용어] 레거시에 대한 정의

by Love of fate 2023. 10. 11.
728x90
반응형

레거시는 오래되었지만 여전히 사용되고 있는 코드를 말한다.


레거시 시스템은 오래된 하드웨어에서만 동작하거나 현재는 사용되지 않은 기술로 만들어진 시스템을 지칭한다.

최신 하드웨어에서 동작하지 않거나 새로운 기술을 적용하기 어렵다. 레거시 시스템을 구동할 하드웨어가 더 이상 생산되지 않으면 완전히 새로 만들어야 레거시 시스템을 변경할 수 있다.

반면에 레거시 코드는 단순히 예전 방식으로 만들어진 코드만을 지칭하는 것이 아니다.
테스트가 없는 코드를 레거시 코드로 부르기도 하고 이전 버전의 프레임워크를 사용해서 개발한 코드를 의미하기도 한다.
남이 만든 코드를 레거시 코드라고 부르기도 한다.

레거시에 대한 정의가 무엇이든 하나의 공통점이 있다.

그것은 바로 레거시는 수정하기 어렵다는 것이다.

코드 수정이 힘든 레거시는 피하고 싶지만 우리는 누구나 레거시를 만난다.
10년 전에 만들어져 지금까지 운영 중인 시스템을 만날 때도 있고, 남들은 쓰지 않은 기술을 사용한 시스템을 만날 때도 있다. 하지만 이것만이 레거시가 아니다.

불과 몇 달 전에 내가 만든 코드도 레거시가 될 수 있다.

내가 만든 코드지만 수정하기 두렵다면 그게 바로 레거시다.

728x90
반응형