2.1 리팩토링 정의

리팩토링

(명사) 소프트웨어 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법.

(동사) 소프트웨어의 겉보기 동작은 유지한 채, 여러가지 리팩터링 기법을 적용해서 소프트웨어를 재구성한다.

겉보기 동작 (Observable Behavior)

리팩터링은 성능 최적화와 유사하다.


2.2 두 개의 모자

소프트웨어를 개발 할때 '기능 추가' 와 '리팩터링'은 명확히 구분되야 한다.

2.3 리팩토링하는 이유

소프트웨어 설계가 좋아진다