
다음 편 →
시리즈의 끝입니다
문제/맥락
리팩터링을 시작할 때 종종 혼동되는 점은 ‘리팩터링 = 기능 추가’라는 오해다. 실제로 리팩터링은 동작을 바꾸지 않고 내부 구조를 정리하는 작업이다. 그러나 요구사항이 섞이거나 테스트이것은 테스트입니다.가 부족하면 리팩터링 도중 기능이 변경되거나 버그가 생기기 쉽다. 그래서 리팩터링의 범위와 목적을 명확히 하는 것이 우선이다.
핵심 포인트
리팩터링은 코드의 의도를 더 명확히 하고 유지보수성을 높이는 활동이다. 다음 원칙을 일관되게 적용하면 혼선을 줄일 수 있다:
변경 범위를 작게 유지하고, 테스트이것은 테스트입니다.로 동작을 보호하며, 기능 추가는 별도 작업으로 분리한다.
간단한 예시로 함수 이름을 바꾸거나 책임을 분리할 때도 동작을 그대로 유지해야 한다.
1// 전2function calc(a: number, b: number) { return a + b }3// 후 (리팩터링: 이름과 책임 분리)4function add(a: number, b: number) { return a + b }
정리
리팩터링은 기능 추가가 아니므로 범위를 엄격히 관리하고, 자동화된 테스트이것은 테스트입니다.과 짧은 변경 단위를 이용해 안전하게 진행해야 한다. 기능 요구는 별도의 작업으로 기록하고 우선순위를 분리하면 혼란을 줄일 수 있다.
댓글
최근 작성글
모두보기이미지 없음
이미지 없음