brunch

You can make anything
by writing

C.S.Lewis

by 백명석 Oct 28. 2015

IntelliJ 15 EAP Ultimate의 향상

Extract Method가 쉬워졌다 ^^

오늘 자잘한 코딩을 하던 중 아무 생각 없이 try-catch 문장을 extract method 했는데 IntelliJ가 완전히 일치하지는 않지만 구조적으로 일치하는 중복이 있다고 알려주며 자동으로 중복을 제거해 주었다.


이를 살펴보면 아래와 같다. 


0. 중복이 존재하는 코드

위 코드를 보면 33~38 라인과 44~48 라인에 중복이 존재한다. 하지만 빨간 줄을 그어 놓은 부분이 완전히 일치하지 않아서 기존에는 33~38 라인을 extract method 하면 44~48 라인이 함께 적용되지 않았다.

1. 이전 버전에서 해결 방법

그래서 다음과 같은 단계를 거쳤다.

1.1 완전히 동일하지 않은 부분에 extract varible을 수행

1.2 extract method

1.3 IntelliJ가 추천하는 다른 블록에도 extrac method 적용

1.4 1.1에서 extract 한 변수를 Inline

이런 번거로운 과정을 거쳤었다.


2. IntelliJ 15 EAP Ultimate 버전에서의 해결 방법

2.1 Extract Variable 없이 Extract Method 실행

2.2 IntelliJ가 완전 동일하지 않지만 중복을 제거할 수 있는 코드 블록을 추천

이때 "IllegalArgumentException should be thrown"을 message라고 변수로 추출해야 가능하고, 후에 tagAndCatcheException(s)가 아니라 tagAndCatcheException(s, "IllegalArgumentException should be thrown")으로 호출해야 한다고 보여준다.

2.3 최종 결과

위 그림과 같이 extract variable, inline variable이 필요했던 부분이 자동으로 처리된 것을 알 수 있다.

참 대단한 JetBrains이다 ^^

작가의 이전글 spring-boot integration test삽질

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari