1. 리팩터링 원칙 1-1) 리팩터링의 정의 리팩터링(하다): [동사] 소프트웨어의 겉보기 동작은 그대로 유지한 채, 여러 가지 리팩터링 기법을 적용해서 소프트웨어를 재구성하다. 리팩터링: [명사] 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 겉보기 동작을 유지한다 = 성능, 기능, 버그까지 그대로 있어야 한다. 1-2) 리팩터링 목적 소프트웨어 설계가 좋아진다 → 처음부터 완벽한 설계는 없다! 소프트웨어를 이해하기 쉬어진다. 버그를 쉽게 찾을 수 있다. 프로그래밍 속도를 높일 수 있다. 1-3) 리팩터링의 시점 비슷한 일을 세번째 하게 되면 (3의 법칙) 하지 말아야 할 때? → 지저분해도 굳이 할 필요 없다면 하지 않는다. 2. 코드에서 나..