- 레거시 코드(legacy code)란? 개발 트렌드의 변화 또는 새로운 방식의 코드 개발로 인해 구버전이 되어버린 코드.
- 레거시 코드 자체는 오류를 유발하지 않지만, 비효율적일 수 있고 가독성이 떨어질 수 있음.
- 보통 IT회사에서는 수많은 레거시 코드에 허덕임 (특히 서비스가 오래된 서비스인 경우엔 더...)
레거시 코드가 왜 문제예요?
- 첫째, 이해하기 어렵다. 기능에 추가 개발되어야 하는 상황인데 예외 처리 코드 등 임시 조치되어 있는 경우, 불필요한 기능 추가로 예외 상황이 생기는 경우, 코드의 결합도가 너무 높고 종속적인 경우 등 레거시 코드는 이해하기 어려운 케이스가 많다.
- 둘째, 이해하기 어려우니 수정이 어렵다. 테스트가 되어있지 않고 코드 흐름을 파악하기 어렵게 때문에 기능을 수정하거나 추가할 경우, 예외적인 부작용이 나타나거나 단순 수정으로 인해 시스템에 문제가 발생할 수 있어 어렵다.
레거시 코드를 감수해야 한다면?
- 테스트 코드 없이 레거시 코드를 다 감수하시겠습니까? (우아한형제들 블로그)
- 신규 기능을 반영할 지점을 판별한다.
- 테스트 코드를 작성할 위치를 찾는다.
- 의존 관계를 제거한다.
- 테스트 코드를 작성한다.
- 변경 및 리팩토링을 수행한다.
'My Note > 프로젝트 관리' 카테고리의 다른 글
플라스크 에러~ OSError: [Errno 98] Address already in use 해결 (0) | 2021.08.28 |
---|---|
디버거가 안될 때, (0) | 2021.06.23 |
개츠비로 블로그만들기 (0) | 2021.06.13 |
개발자 툴 사용하기 (0) | 2021.06.03 |
semantic versioning (0) | 2021.05.01 |