리팩터링 : 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법
리팩터링에서 기능을 변경 및 추가하거나 버그를 수정하는 작업을 하지 않는다!
누군가 "리팩터링하다가 코드가 깨져서 며칠이나 고생했다"라고 한다면, 십중팔구 리팩터링한 것이 아니다.
리팩터링 하는 이유
소프트웨어 설계가 좋아진다
소프트웨어를 이해하기 쉽다
버그를 쉽게 찾을 수 있다
프로그래밍 속도를 높일 수 있다