리팩터링 : 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법
동작을 보존하는 작은 단계들을 거쳐 코드를 수정하고 이를 순차적으로 연결해 큰 변화를 만든다
코드베이스를 정리하거나 구조를 바꾸는 모든 작업은 “재구성”이며 “리팩터링”은 그 일부이다.
소프트웨어 설계가 좋아진다
소프트웨어를 이해하기 쉬워진다
버그를 쉽게 찾을 수 있다
프로그래밍 속도를 높일 수 있다