Skip to content

Latest commit

 

History

History
69 lines (33 loc) · 3 KB

File metadata and controls

69 lines (33 loc) · 3 KB

리팩토링 카탈로그 보는 법

이제부터는 여러가지 리팩토링 기법을 소개하겠다.

나는 리팩토링 기법이 잘 떠오르지 않을 때를 위해서 언제든 다시 찾아볼 수 있도록 기록해놨다.

이제부터 이어질 카탈로그 (6 ~ 12장) 들을 하나씩 소개하겠다.


5.1 리팩토링 설명 형식

카탈로그의 리팩토링 기법들을 일정한 형식을 갖춰서 정리했다.

각 기법에 대한 설명의 내용은 다섯 항목으로 구성된다.

  • 가장 먼저 리팩토링 기법 이름이 등장한다.

  • 다음으로 리팩토링의 핵심 개념을 간략하게 표현 개요 (개념도 + 코드 예시) 가 나온다.

  • 그 다음으로 해당 리팩토링의 기법이 왜 필요한지 와 그 기법을 적용하면 안되는 상황 을 설명한다.

  • 이어서 리팩토링 하는 과정을 절차별로 소갠하다.

  • 마지막의 예시를 통해 리팩토링을 실제로 적용하는 기법과 그 효과를 보여준다.

개요 에서는 리팩토링 전후로 코드가 어떻게 달라지는 지도 보여준다.

개요는 나중에 리팩토링 기법을 찾을 때를 위한 것으로 개요를 보고도 잘 떠오르지 않는다면 예시까지 보자.

즉 개요는 기억 되살리기 용이다.

절차 는 해당 리팩토링의 구체적인 적용 방법을 잊지 않기 위해서 구성했다.

간단하게 설명했고 자세한 설명은 예시에 넣도록 했다.

즉 절차는 적용하는 구체적인 순서가 기억이 나지 않는다면 보는게 좋다.

절차에서는 리팩토링을 진행하는 각 단계를 잘게 나눠놓았는데 이를 통해 리팩토링을 안전하게 진행할 수 있다. (이를 통해 각 단계마다 테스트를 수행하므로 버그가 생기더라도 안전하게 돌아가는게 가능하다.)

예시 는 아주 간단한 사례들로 구성했다.

리팩토링의 기본에 집중하기 위해서 이걸로 구성했다. 다른 곳에 정신이 팔리지 않도록 하기 위해서.

예시에서 리팩토링 후에 코드는 해당 기법만을 보여주기 위힌 것으로 완벽하게 리팩토링 되지는 않았다 라는 점을 알고가자.


5.2 리팩토링 기법 선정 기준

이 카탈로그는 완벽하지 않다.

내 개인적으로 중요하다고 생각하는 것들만 가져왔다.

여기서 중요함의 기준은 가장 흔히 사용되고 이름을 붙일 만한 가치가 있다는 것이다.

따로 기록해둘 필요가 없는 리팩토링은 소개하지 않는다.

가령 초판에선 문장 슬라이스 하기 (8.6절) 기법은 존재하지 않았다.

또 논리적으론 존재하는 기법이지만 내가 잘 사용하지 않는 기법도 넣지 않았다.

이 책에 나온 리팩토링의 기법들에 대해서 반대로 적용하는 기법들도 있다.

필요한 것들에 대해선 넣었지만 이것도 내가 잘 사용하지 않는 것은 넣지 않았다.