Eclipse 코드 줄 수


107

나는 Metrics 플러그인을 사용해 보았지만 훌륭하고 모든 것이지만 내 상사가 찾고있는 것이 아닙니다. 한 줄을 한 줄로 계산하고 "줄이 아니라 }스타일 선택"으로 계산하는 것을 원하지 않습니다. 또한 제공된 측정 항목에 대한 보고서 형식을 생성해야합니다. 이를위한 좋은 도구가 있습니까?


1
부수적 인 질문 : 이것은 당신의 소프트웨어 개발자들이 얼마나 잘 일하고 있는지를 보여주는 지표로 사용됩니까? 그렇다면 문자 / 비 공백 개수가 더 좋을 수 있습니다. 그럼에도 불구하고 정말 임의의 메트릭처럼 보입니다 ... 친구가 말했듯이 "일반적으로 문제를 해결하기 위해 더 많은 코드 라인이 동일한 문제를 해결하기 위해 더 적은 코드 라인보다 낫거나 나쁘지는 않습니다."
— Sancarn

답변:


93

Eclipse Metrics Plugin을 설치합니다 . HTML 보고서를 작성하려면 (선택적 XML 및 CSV 사용) right-click a project -> Export -> Other -> Metrics.

공백 및 주석 전용 행을 무시하여 코드 행 메트릭을 조정하거나 원하는 경우 Javadoc을 제외 할 수 있습니다. 이렇게하려면에서 탭을 확인하십시오 Preferences -> Metrics -> LoC.

그게 다야. 중괄호를 제외하는 특별한 옵션은 없습니다 {}.

플러그인은 Number of Statements 라는 LoC에 대한 대체 메트릭을 제공합니다 . 저자는 이에 대해 다음과 같이 말합니다.

이 메트릭은 메서드의 문 수를 나타냅니다. 후자는 다른 형식화 ​​규칙과 관련하여 취약하기 때문에 코드 줄보다 더 강력한 측정이라고 생각합니다.

편집하다:

질문을 명확히하신 후 컴파일러 경고 또는 오류와 같은 실시간 측정 항목 위반에 대한보기가 필요하다는 점을 이해합니다. 상사를위한 보고서를 작성하려면보고 기능도 필요합니다. 위에서 설명한 플러그인은보고를 위해 메트릭을보고 싶을 때 내 보내야하기 때문에보고 용입니다.


정확히 내가 찾던 것과 멋진 내보내기 기능.
— george_h dec

1
이 플러그인의 현재 버전 (3.14.1)은 Eclipse Luna (4.4)에서 작동하지 않는 것 같습니다. 놀랍게도 Sourceforge의 고대 Metrics 플러그인은 여전히 ​​작동합니다 ...
— ejain

많은 사람들이 더 이상 작동하지 않는 것을보고,하지만 아무도 ... 소스 포지에서 버그를 파일 없습니다
— 토마스 웰러

6
네. 에서 옵션을 볼 수 없습니다. right click a project -> Exporteclipse 마켓 플레이스에서 직접 플러그인을 설치했습니다. 버전은- Eclipse Metrics 3.12.0입니다. 누구든지 도와주세요. 감사!
— OverrockSTAR


263

항상 "무력한 힘"이 있습니다.

  1. 검색-> 파일

  2. "텍스트 포함"->에 다음을 입력합니다 ^.*$. 그런 다음 "정규식"확인란을 선택하십시오.

  3. "파일 이름 패턴"에 다음 입력-> *.java

  4. "검색"을 클릭하십시오

  5. "검색"탭에서 일치하는 수를 확인하십시오.


11
이것은 내가 찾던 것과 정확히 일치했습니다. 대괄호 또는 멋진 것을 제외하지 않지만 플러그인없이 내가 찾고 있던 대답을 제공합니다. 감사!
— 누가 복음

24
또한 사용할 수 있으며 \n[\s]*빈 줄도 무시합니다
— Ascalonian

3
다른 플러그인이 필요없는 아주 좋은 솔루션입니다! +1
— Stephan

2
최신 (네온) 일식하지만 통계는 플러그인이 작동하지 않습니다
— 아나톨리 Yakimchuk에게

2
@omerio 주석도 입력해야하며 모든 소스 코드의 필수 부분입니다. 그러한 유도를 세지 않으면 중요하지 않거나 맹목적인 텍스트 일뿐입니다. 이는 심각한 실수입니다.
— Axel Amthor 16.12.12

23

OSX 또는 * NIX에서 사용하는 경우

* .java 파일에서 Java 코드의 모든 실제 행을 가져옵니다.

find . -name "*.java" -exec grep "[a-zA-Z0-9{}]" {} \; | wc -l

* .java 파일에서 모든 줄을 가져옵니다. 여기에는 빈 줄과 주석이 포함됩니다.

find . -name "*.java" -exec cat | wc -l

파일 당 정보를 가져 오면 [파일 경로 + ","+ 줄 수]가 제공됩니다.

find . -name "*.java" -exec wc -l {} \;

얻을 OSX I의 첫 번째 명령을 실행 : GREP : 잘못된 문자 범위 0
— omerio

이것은 나를 위해 일했습니다. -name "* .java"| xargs 고양이 | grep '[alnum]'| 화장실 -l
— omerio

2
해야find . -name "*.java" | xargs cat | grep "[a-zA-Z0-9{}]" | wc -l
— warrior107의

8

또 다른 방법은 예를 들어 LocMetrics 와 같은 다른 loc 유틸리티를 사용하는 것 입니다.
또한 다른 많은 loc 도구를 나열 합니다 . 이클립스와 통합은 (는 함께있을 것처럼 항상되지 않을 것 Metrics2 이보다 최신 버전이기 때문에 체크 아웃 할 수 메트릭 ), 그러나 적어도 그 도구의 기간에 이유가있다 논리적 라인 (합산하여 계산 터미널 세미콜론 및 터미널 중괄호).
또한 eclipse-metrics 가 당신이 기대하는 것에 더 잘 적응했는지 확인할 수 있습니다.


7

또 다른 도구는 Google Analytix로 , 오류 발생시 프로젝트를 빌드 할 수없는 경우에도 측정 항목을 실행할 수 있습니다.


이 사이트는 이전 버전의 이클립스에만 해당한다고 말하지만 Luna에서는 잘 작동합니다. 감사합니다.
— CamHart 2015

7

Eclipse에서 코드 줄을 계산하는 한 가지 가능한 방법 :

검색 / 파일 ... 메뉴를 사용하여 파일 검색 탭을 선택하고 텍스트 포함에 \ n [\ s] *를 지정하고 (빈 줄은 계산하지 않음) 정규식을 선택합니다.

모자 팁 : www.monblocnotes.com/node/2030


와우, 정말 천재입니다. 숫자로 지불하지 않는 한 빈 줄을 세지 않는 것이 좋습니다.
— JohnnyB

1

소스 코드 줄을 셀 수있는 Eclipse 플러그인을 만들었습니다. Kotlin, Java, Java Script, JSP, XML, C / C ++, C # 및 기타 여러 파일 유형을 지원합니다.

좀 봐주세요. 모든 의견을 주시면 감사하겠습니다!

git-hub 저장소가 여기 있습니다.


0

ProjectCodeMeter는 설명 된대로 LLOC (코드의 논리 줄)를 정확히 계산합니다 (유효 줄만). 그것은 외부 코드 메트릭 도구 로 eclipse에 통합 되지만 실시간은 아니지만 보고서를 생성합니다. 실제로 복잡성, 산술 복잡, 하드 코딩 된 문자열, 숫자 상수와 같은 많은 소스 코드 메트릭을 계산합니다. .


0

정적 분석을 위해, 내가 사용하고 실행 SonarQube 추천 한 단지 모두에 대해 당신이 가능하게 할 수있는 측정 에 다양한 언어를 , 그리고 기본 버전 무료입니다 (당신은 언어 내가 좋겠의 종류를 분석하기 위해 지불해야 내 머리에 총으로 만 코드를 입력합니다).

소스 코드 저장소에서 분석을 실행하는 웹 앱으로 설치해야하지만 Eclipse 플러그인도 있습니다.

일회성으로 프로젝트에 몇 줄의 코드가 있는지 알고 싶다면 과잉입니다. 시간을 통해 메트릭을 추적하고, 프로젝트간에 비교하고, 임계 값을 초과 할 때 경고를 발생시키는 등 환상적입니다.

공개 : 저는 SonarSource와 재정적 관계가 없습니다.


0

가장 먼저해야 할 일은 "코드 라인"(LOC)의 정의를 결정하는 것입니다. 두 질문 모두

} 하나만있는 줄을 한 줄로 계산하고 그는 "줄이 아니라 스타일 선택"으로 계산하는 것을 원하지 않습니다.

그리고 답변에서, 예를 들어,

공백 및 주석 전용 행을 무시하여 코드 행 메트릭을 조정하거나 원하는 경우 Javadoc을 제외 할 수 있습니다.

사람들이 코드 줄을 구성하는 것에 대해 서로 다른 의견을 가지고 있음을 알 수 있습니다. 특히, 사람들은 종종 코드 줄 수 또는 명령문 수를 원하는지에 대해 부정확합니다. 예를 들어, 다음과 같은 매우 긴 문장으로 채워진 줄이 있다면 무엇을보고할까요 (1 LOC 또는 수백 개의 문장)?

{ a = 1; b = 2; if (a==c) b++; /* etc. for another 1000 characters */ }

그리고 누군가 LOC라고 부르는 것이 무엇인지 물어 보면 "LOC에 대한 나의 정의는 Metrics2의 정의입니다"라고해도 대답 할 수 있는지 확인하십시오. 일반적으로 가장 일반적으로 형식이 지정된 코드 (내 예제와 달리)의 경우 인기있는 도구는 숫자가 상당히 유사하므로 Metrics2, SonarQube 등은 일관되게 사용하는 한 모두 괜찮습니다. 즉, 하나의 도구를 사용하여 일부 코드의 LOC를 계산하지 말고 해당 값을 다른 도구로 측정 한 해당 코드의 최신 버전과 비교하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.