Extract Method가 쉬워졌다 ^^
오늘 자잘한 코딩을 하던 중 아무 생각 없이 try-catch 문장을 extract method 했는데 IntelliJ가 완전히 일치하지는 않지만 구조적으로 일치하는 중복이 있다고 알려주며 자동으로 중복을 제거해 주었다.
이를 살펴보면 아래와 같다.
위 코드를 보면 33~38 라인과 44~48 라인에 중복이 존재한다. 하지만 빨간 줄을 그어 놓은 부분이 완전히 일치하지 않아서 기존에는 33~38 라인을 extract method 하면 44~48 라인이 함께 적용되지 않았다.
그래서 다음과 같은 단계를 거쳤다.
이런 번거로운 과정을 거쳤었다.
이때 "IllegalArgumentException should be thrown"을 message라고 변수로 추출해야 가능하고, 후에 tagAndCatcheException(s)가 아니라 tagAndCatcheException(s, "IllegalArgumentException should be thrown")으로 호출해야 한다고 보여준다.
위 그림과 같이 extract variable, inline variable이 필요했던 부분이 자동으로 처리된 것을 알 수 있다.
참 대단한 JetBrains이다 ^^