2008-10-25 4 views
5

대용량 API (특히 Java 또는 J2EE 표준 라이브러리)가 제공되는 경우 도구, 검색 엔진 또는 다른 방법, 클래스 또는 패키지가 일반적으로 가장 많이 사용하는 경향이있는 다른 리소스가 있습니까? API에 주석을 달고 (아래 참조) 인기있는 분야에 집중하고자합니다. 내가 생각할 수있는 유일한 방법은 다른 메소드 이름으로 Google 코드를 사용하는 것이지만 물론 지루합니다.자주 사용되는 Java API 함수에 대한 통계가 있습니까?

일부 배경 (관심있는 사람이있는 경우) : 내 박사 과정 연구의 일환으로 사용자가 메서드 설명서 (자체 API 또는 기존 API)에서 중요한 "지시문"을 강조 표시 한 다음 해당 주석을 푸시 할 수있게 해주는 tool을 개발했습니다. 사용자가 자신이 알 수있는 기회를 늘릴 수 있습니다. 우리 연구실 연구는 이것이 잠재력이 있음을 보여 주지만 사람들이 현장에서 사용하게하려면 주석이 달린 API의 "코퍼스"를 제공해야하며 어떤 라이브러리에 주석을 달 것인지를 우선 순위 지정하려고합니다.

답변

3

그러한 통계가 실제로 실현 가능한지는 알 수 없지만 기초적인 타사 라이브러리와 함께 시작하는 것이 안전하다고 생각합니다. 예를 들어

,174,
+0

이것은 아주 좋은 출발점입니다. 목록에 JDBC를 추가합니다. –

+0

예. 하지만 많은 사람들이 Networking API를 직접 사용하지는 않습니다. 스윙이 가장 적게 사용됩니다. 등록 정보는 REsource Bundles와 함께 본 또 다른 매우 일반적인 API입니다. – anjanb

+0

필자는 거의 일부 String 함수가 콜렉션 이상으로 발생한다고 생각합니다. – Axeman

1

이 "간단한"bash는 스크립트가 현재 프로젝트의 코드베이스에서 가장 많이 사용되는 클래스를 계산합니다.

 
find . -name "*.java" | xargs cat | grep "^import java" | sort | uniq -c | sort -nr | head -100 
+1

명백히 java.lang 패키지를 무시합니다. akso는 사용 빈도를 고려하지 않습니다. 좋은 시도 (말장난) – questzen

0

J2SE 또는 J2EE 패키지의 목록이 Koders.com, Google 코드 또는 다른 오픈 소스 코드 검색 저장소에 제출 될 수있는 프로세스를 자동화하는 것이 가능 패키지 당 결과를 계산하고 것처럼 보인다 가장 인기있는 정렬.

java.lang (또는 암시 적으로 임포트 된 다른 패키지/클래스)이 해당 검색에 나타나지 않기 때문에 절대적인 결과를 얻지는 않습니다.

나는 실수 할 수는 있지만이 정보의 기존 도구 또는 게시자가 있다고 생각하지 않습니다.

또 다른 가능성은, '대표'프로젝트의 번호를 선택을 다운로드하여 종속성 분석 도구를 사용 JDepend 같은 의존성 보고서 및 프로세스를 생성하는 것입니다 사용 패키지/클래스의 집합을 얻을 수 있습니다.

0

나는 사용 빈도를 기준으로 순위를 지정하려고합니다. 정적 분석 도구를 실행하여 오픈 소스 자바 프로젝트를 다운로드하는 것이 좋습니다.그런 다음 동일한 세트에서 메모리 프로파일 러를 실행하고 마지막으로이 통계를 외삽합니다.

0

MethodRank 메트릭을 사용하면 일부 오픈 소스 프로젝트에서 가장 많이 사용되는 메소드, 클래스를 검색 할 수 있습니다.

JavaDepend의 평가판을 구하고, 유명한 Java 오픈 소스 프로젝트를 분석하고, SQL과 같은 일부 CQL 요청을 실행하여 이러한 프로젝트에서 가장 많이 사용되는 메소드, 클래스, 필드를 가져올 수 있습니다.

추 신 : 시험 버전은 귀하의 필요에 충분하므로 시간 제한이 없습니다.

관련 문제