2012-07-07 1 views
0

Eclipse 함수를 사용하여 인터페이스 메소드를 추가/생성 할 때이 메소드의 매개 변수 이름을 구현할 때 "너무 일반적"이라는 문제점이 종종 발생합니다. .부적절한 이름을 가진 Eclipse 생성 메소드 매개 변수

문자열 매개 변수 인 경우 매개 변수의 의미를 나타내는 무언가를 호출하는 대신 paramInt 등의 int 인 경우 paramString이라는 이름이 지정됩니다.

예를 들어, 현재 JSR 286 사양의 일부인 javax.portlet.PortletSession 인터페이스를 구현 중입니다. 사용자 정의 구현이 필요합니다.

방법은 다음과 같은 매개 변수를 가지고 : 것처럼,

public void setAttribute(String key, Object value) 
public void setAttribute(String key, Object value, int scope) 

때때로 방법의 발생이 가끔, 내가 원하는 방식으로 작동합니다 : 내가하고 싶은 무엇

public void setAttribute(String paramString, Object paramObject) 
public void setAttribute(String paramString, Object paramObject, int paramInt) 

이 같은 STH이다 이번에는 그렇지 않습니다. 이 구현하고 싶은 인터페이스를 들고 라이브러리를 가져 오는 방식으로 할 수 있다고 가정하지만 어쩌면 누군가가 조금 더 자세하게 동작을 설명 할 수 있을까요?

아마도 구체적인 예를 들어 설명해 줄 수 있습니다. JSR 286 스펙을 가져 와서 원하는 방법을 생성하는 방법은 무엇입니까?

정말 고마워요!

+0

그래서 여기에 내가 한 일이 있습니다. JSR 286 사양을 다운로드했습니다. 소스를 Eclipse로 가져왔다. 그런 다음 클래스 파일 만 포함 된 JAR 대신 소스를 참조했습니다. 그것은 트릭을 만들었습니다. 다른 방법이 있는지 확실하지 않지만, 적어도 여기서는 소스를 필요로하는 것처럼 보입니다. – AnNaSF

+0

많은 클래스의 모든 메소드 서명을 다시 생성 할 수있는 방법이 있는지 알고 있습니까? 그렇지 않으면이 변경 작업을 수동으로 수행해야합니다. ( – AnNaSF

답변

1

매개 변수의 이름을 직접 바꿉니다. 필자는 Eclipse가 작동해야하는 정보를 기반으로 매개 변수 이름이 생성되었다고 생각합니다. 매개 변수 이름이 jar 파일에 없으면 제공 할 수 없습니다. 포틀릿 jar 파일의 디버그 버전이 있거나 JavaDoc이 어디에 있는지 Eclipse에 알릴 수 있다면 도움이 될 수 있지만 궁극적으로는 대부분 수동으로 이름을 바꾸는 것만 큼 간단합니다.

그냥 테스트로, 난 당신이 유형 PortletSession의 변수를 선언하고있는 경우 다음과 같이 자동 완성, 그것을 사용하려고 의심 :

PortletSession session = null; // Doesn't matter for this 
session.set <hit ctrl-space here> 

내 생각입니다이 하지 않습니다은 auto-complete ...에 매개 변수 이름을 포함하는 반면 자동 구현이 작동하는 상황에서는 매개 변수 이름을 포함합니다. 이클립스가 얼마나 많은 정보를 가지고 있어야하는지에 관한 것입니다.

+0

솔직히 말해서 소스를 가져 오는 것보다 소스를 가져 오는 것이 더 좋습니다. – AnNaSF

+0

@ user1090608 : d는 자동 생성 된 매개 변수 이름보다 JavaDoc 등을 더 관련성이 높은 것으로 간주합니다. –