검색결과 리스트
Extract Method에 해당되는 글 2건
- 2009/07/03 이클립스 Extract Method 리팩토링Tip
- 2006/11/11 Extract Method 리팩토링
글
이클립스 Extract Method 리팩토링Tip
2009 이야기
2009/07/03 18:32
다음과 같은 코드가 있다.
rolls[frameIdx + 1] + rolls[frameIdx + 2] 부분을 메소드로 뽑아내고자 한다. 이클립스에서 블록 지정을 하고 Alt+Shift+M 단축키를 누르면, 다음과 같은 메시지를 만날 수 있다.
두 가지 해결책이 있다. 하나는 굳이 이클립스 명령을 쓰지 않는 방법이다. 다른 방법은 블록 지정 부분을 괄호로 묶고 나서 Extract Method 명령을 수행하는 방법이다.
결코, 빠른 방법은 아니지만 몇 가지 사소한 이점이 있다.
score += 10 + rolls[frameIdx + 1] + rolls[frameIdx + 2];
rolls[frameIdx + 1] + rolls[frameIdx + 2] 부분을 메소드로 뽑아내고자 한다. 이클립스에서 블록 지정을 하고 Alt+Shift+M 단축키를 누르면, 다음과 같은 메시지를 만날 수 있다.
Can only extract a single expression or a set of statements.1
두 가지 해결책이 있다. 하나는 굳이 이클립스 명령을 쓰지 않는 방법이다. 다른 방법은 블록 지정 부분을 괄호로 묶고 나서 Extract Method 명령을 수행하는 방법이다.
score += 10 + (rolls[frameIdx + 1] + rolls[frameIdx + 2]);
결코, 빠른 방법은 아니지만 몇 가지 사소한 이점이 있다.
- 타이핑 절감
- 오타 방지
- 자동 줄맞춤
- inline 리패토링하면 다시 제거 가능
- 젠장. 보안 툴 탓에 이미지 파일을 못 올린다. [본문으로]
글
Extract Method 리팩토링
2006/리팩토링
2006/11/11 17:00
JetBrain IDEA 를 쓰는 이들이 refactor 기능에 매료된다고 하는데
이클립스 리팩토링도 많이 개선된 것 같다.
평소 refactor > rename 정도만 쓰다가
Extract Method 를 썼는데 아주 intelligent 하네. :)
메소드 내부에 아래와 같은 코드 블럭이 있었다.
// 테스트를 수행자의 작업 디렉토리 루트를 읽어옴
Properties properties = new Properties();
File file = new File("test/testng.properties");
properties.load(new FileInputStream(file));
String projectRoot = properties.getProperty("project.root");
Properties properties = new Properties();
File file = new File("test/testng.properties");
properties.load(new FileInputStream(file));
String projectRoot = properties.getProperty("project.root");
메소드 내부를 간결하게 하기 위해서 private method 로 분리하고자 할 때
