My Note/프로젝트 관리

레거시 코드, 레거시 함수란?

  • 레거시 코드(legacy code)란? 개발 트렌드의 변화 또는 새로운 방식의 코드 개발로 인해 구버전이 되어버린 코드.
  • 레거시 코드 자체는 오류를 유발하지 않지만, 비효율적일 수 있고 가독성이 떨어질 수 있음.
  • 보통 IT회사에서는 수많은 레거시 코드에 허덕임 (특히 서비스가 오래된 서비스인 경우엔 더...)

레거시 코드가 왜 문제예요?

  • 첫째, 이해하기 어렵다. 기능에 추가 개발되어야 하는 상황인데 예외 처리 코드 등 임시 조치되어 있는 경우, 불필요한 기능 추가로 예외 상황이 생기는 경우, 코드의 결합도가 너무 높고 종속적인 경우 등 레거시 코드는 이해하기 어려운 케이스가 많다.
  • 둘째, 이해하기 어려우니 수정이 어렵다. 테스트가 되어있지 않고 코드 흐름을 파악하기 어렵게 때문에 기능을 수정하거나 추가할 경우, 예외적인 부작용이 나타나거나 단순 수정으로 인해 시스템에 문제가 발생할 수 있어 어렵다.

레거시 코드를 감수해야 한다면?