나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2025-04-18 08:05:06

리팩토링


1. 개요2. 종류3. 주의4. 예시 사례5. 관련 문서

1. 개요

요구사항에서 정의되는 기능(function)을 변경하지 않으면서, 해당 기능을 구현하는 코드와 구조를 수정하는 행위, 또는 그러한 작업.

2. 종류

3. 주의

리팩토링은 엔드 제품(end product)의 기능을 전혀 추가하거나 개선하지 못하기 때문에, 리팩토링만 반복하는 것은 제품 출시에 큰 지장이 될 수 있다.

특히나 피해야 하는 상황은 스택 전환 같이 큰 규모의 리팩토링을 진행했다가 준비 부족으로 실패하는 경우로, 이 경우 PM쪽은 개발 기간이 낭비된 것에 책임을 져야 하고, 새 스택 도입을 찬성했던 개발자들은 레거시로 돌아가야 하는 아쉬움을, 기존 스택 유지를 찬성했던 개발자들은 새 스택 도입을 위해 배운 지식과 투자한 시간이 물거품이 되게 된다.

리팩토링은 근본적으로 제품 내부 구조와 아키텍처에 접근 가능한 개발자의 시점에서 이루어지는 것이고, 큰 규모의 리팩토링을 진행할 때는 이 작업이 반드시 필요한지, DX를 비약적으로 향상시키는지, 레거시 코드에 대한 현실적인 workaround는 없는지, 내 취향이나 사심이 들어간 것은 아닌지 검토해야 한다.

4. 예시 사례

5. 관련 문서