리팩터링 리팩터링이란, 기능을 변경하지 않고 코드의 가독성과 유지보수가 쉽도록 코드를 변경 하는 것 리팩터링을 왜 해야 하는가 코드를 더 빠르게 만들기 위해 더 작은 코드를 만들기 위해 코드를 더 일반적이고 재사용 가능하게 만들기 위해 "코드의 가독성을 높이고 유지보수를 용이하게 하기위해 리팩터링이 필요하다." 리팩터링 구성요소 스킬(Skill): 어떤 코드가 잘못되었는지 아는 능력 문화(Culture): 리팩터링에 시간을 들이는 것을 권장하는 문화와 절차가 필요 도구(Tools): 작업의 안정성을 보장할 무언가,,, 자동화된 테스트(도구) 스킬: 무엇을 리팩터링 할 것인가? 코드 스멜을 알아 차리는 방법 -> 쉽게 이해되고 쉽게 적용할 수 있는 규칙이 필요 예) 함수는 하나의 기능을 수행해야 한다. -..