← 질문 목록
#212깊이 0

리팩토링과 기능 추가를 나눠서 하는 이유는 무엇인가?

아키텍처 · 분산시스템심화설계 원칙

코드의 수정 범위와 영향도를 명확히 구분하여 버그 발생 가능성을 낮추기 때문이다.

기준리팩토링기능 추가
목적내부 구조 개선새로운 동작 구현
외부 동작동일함변경됨
테스트기존 테스트 통과새로운 테스트 추가

리팩토링 단계에서는 기존 테스트 코드가 계속 통과해야 한다. 구조만 바꾸고 동작은 유지해야 하므로, 기능 변경이 섞이면 어디서 버그가 발생했는지 찾기 힘들다.

기능 추가 단계에서는 리팩토링으로 정돈된 구조 위에 새 기능을 얹는다. 깨끗한 토대가으로 인해 구현 속도가 빨라지고 예상치 못한 사이드 이펙트를 줄일 수 있다.

두 작업을 분리하여 커밋 단위로 관리하면 코드 리뷰어의 인지 부하를 줄인다. 변경 사항이 '구조 개선'인지 '동작 변경'인지 명확히 알 수 있어 검증 효율이 높아진다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

리팩토링과 기능 추가를 나눠서 하는 이유는 무엇인가?