2011-01-12 5 views
3

어노테이션 이름이 같거나 비슷한 장소를 식별하여 가능한 한 혼란 지점을 찾을 수 있는지 확인합니다. 예를 들어, Guice @provides와 RESTeasy @provider는 철자가 충분히 유사하지만 사람들을 혼란스럽게하기에 충분히 의미가 다르므로 명시 적으로 호출하고 차이점을 설명하고자합니다.다양한 Java API에서 Java 어노테이션을 식별하는 도구

내가 찾고있는 것은 공구 또는 패키지와 관련된 주석을 나열하는 웹 사이트입니다. 이것은 파이프 꿈일지도 모르지만 내가 수동으로 통과하기 시작하기 전에 이러한 것들을 수집하기 전에 내가 점검 할 것이라고 생각했습니다.

Javadoc을 기반으로 한 주석을 작성하는 것을 고려 중이었습니다. 단지 주석 만 가져 왔지만 많은 경우 Java 소스 파일에 액세스 할 수 없었습니다.

의견이나 제안이 있으십니까?

답변

0

클래스 경로를 검색하고 사용 된 모든 주석을 내 보내지 않는 이유는 무엇입니까? 그런 다음 간단한 파싱/텍스트 비교를 사용하여 거의 동일한 이름의 요소를 확인하십시오.

1

이클립스에서 당신은 (사용 된 주석의 참조 컨텍스트 메뉴 ->프로젝트) "를 참조 검색"표준 방법을 사용할 수 있으며 주석이 프로젝트 내에서 사용되는 목록을 얻고있다.

+0

예, 우리도 마찬가지입니다. 나는 우리가 새로운 프로젝트를 시작하기 전에 이러한 혼란의 가능한 지점을 선제 적으로 식별하려고 노력하고있다. 나는이 수준이나 연구에 도달하면 연구 스파이크를 완료 할 때가되었다고 말할 수있을 것입니다. – jaydel

1

주석을 직접 스캔하고 그 목록을 생성하는 것이 좋습니다.

주석 처리기의 구현을 직접 작성하여 연장 할 수 있습니다 (예 : AbstractProcessor). 이 프로세서 내에서 모든 주석을 포함하는 텍스트 파일을 작성할 수 있습니다. 이 프로세서를 빌드 프로 시저에 추가하면 프로젝트를 빌드 할 때 프로세서가 실행됩니다.

또 다른 방법은 Google Reflections 라이브러리를 사용하는 것입니다. 어노테이션을 가져 와서 파일을 쓰려면 작은 프로그램을 작성해야하기 때문에 이것은 좀 더 많은 작업 일 수 있습니다.

+0

API의 배포 된 클래스 만있는 경우 첫 번째 방법이 작동합니까? 나는 두 번째 사람이 확실히 상상할 것이라고 상상한다. ... – jaydel

+0

나는 그것이해야한다고 생각한다. –

관련 문제