리팩토링
리팩토링이란?시스템의 외부 행위는 바뀌지 않고 기능적 요구는 유지한 상태로 시스템의 내부 구조를 개선하는 것이다. 즉, 프로그램이 작성된 후에 설계를 개선하는 것이다. 리팩토링은 처음 한번에 설계가 올바로 되기 어렵다는 것과 프로그램의 요구가 바뀌면 설게도 계속 바뀌어야 한다는 이해가 깔려 있다. 따라서, 설계를 조금식 점증적으로 전환시키는 기술을 제공하는 것이다. 코드의 크기가 줄어들고 혼란스러운 구조가 단순한 구조로 바뀐다는 장점이 있다. Bad Smell 코드1. 기능 산재 (Shotgun Surgery)변경할 때마다 여러 다른 클래스를 수정해야 하는 경우이다. 예를 들어, 로깅 시스템이 여러 클래스에 걸쳐 구현되어 있어 로깅 방식을 변경할 때마다 모든 관련 클래스를 수정해야 하는 상황이 이에 해당..