[출근 116일차] 레거시 코드 = 고대 유물 코드?

발송일
Jan 4, 2021
분류
뽀식이 메모
카테고리
개발/IT
✋뽀-하(뽀식 하이)
룰루랄라~ 오늘 칼퇴하려고 모든 집중력을 쏟아부어 일거리를 처리해냈다!
후후... 오늘은 기필코 칼퇴하고 집 가서 발 씻고 침대에 뻗어버리리라...
아무 것도 할거야....
 
그런데 어째 팀장님의 분위기가 심상찮다.
나에게 일을 맡기시려는 건 아니겠지...?
엄습해오는 불안감에 안 바빠도 바쁜 척 타이핑을 빠르게 하고 있었는데
아니나 다를까 팀장님이 다가오셔서 업무를 주셨다.
 
팀장님 : 뽀식님, 김 선임이 하고 있는 레거시 코드 정리 한 번 같이 진행해보시겠어요?
뽀식 : (오우... 우리 회사 대대로 내려오는 위대한 유산인건가...)

notion imagenotion image

레거시 코드(Legacy Code)

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

친절한 뽀식 pick

더 알아두면 좋은 정보💡
 
레거시 코드가 왜 문제에요?
 
첫째, 이해하기 어렵다.
기능에 추가 개발되어야 하는 상황인데 예외 처리 코드 등 임시 조치되어 있는 경우, 불필요한 기능 추가로 예외 상황이 생기는 경우, 코드의 결합도가 너무 높고 종속적인 경우 등 레거시 코드는 이해하기 어려운 케이스가 많다.
 
둘째, 이해하기 어려우니 수정이 어렵다.
테스트가 되어있지 않고 코드 흐름을 파악하기 어렵게 때문에 기능을 수정하거나 추가할 경우, 예외적인 부작용이 나타나거나 단순 수정으로 인해 시스템에 문제가 발생할 수 있어 어렵다.
 
셋째, 자신감이 하락한다.
위의 두 가지 문제점으로 인해 해당 프로젝트에 대한 유지보수 작업에 자신감이 하락한다. 유관부서와의 미팅에서 문제 삼았을 시에 업무에 대한 나의 자신감이 많이 다친다(뽀식이 얘기 아님)
 
<더 읽을만한 글들>