중급개념
리팩토링
Refactoring
외부에서 관찰 가능한 동작(기능, API, 사용자 경험)을 변경하지 않으면서 코드의 내부 구조를 개선하는 체계적 작업이다. Martin Fowler의 1999년 저서 『Refactoring: Improving the Design of Existing Code』에서 체계화된 개념으로, 가독성 향상, 중복 제거, 복잡도 감소, 성능 개선, 테스트 용이성 향상 등을 목적으로 한다. 바이브 코딩에서 리팩토링은 특별한 의미를 가진다. AI가 초기에 생성한 코드는 기능적으로 동작하더라도 구조적으로 최적이 아닌 경우가 많으므로, AI와 협업하여 리팩토링을 수행하는 것이 일반적인 워크플로이다. 예를 들어, Claude Code에게 '이 컴포넌트를 더 작은 컴포넌트로 분리하고, 공통 로직을 커스텀 훅으로 추출해줘'와 같은 리팩토링 지시를 내릴 수 있다. 2026년 기준으로 AI 도구는 단일 서비스 내 리팩토링(파일 분할, 함수 추출, 타입 개선 등)은 잘 수행하지만, 마이크로서비스 간 크로스 시스템 리팩토링(서비스 경계 재정의, 데이터 모델 마이그레이션 등)은 아직 인간의 아키텍처 판단이 필수적인 영역이다.