나는 Metrics 플러그인을 사용해 보았지만 훌륭하고 모든 것이지만 내 상사가 찾고있는 것이 아닙니다. 한 줄을 한 줄로 계산하고 "줄이 아니라 }
스타일 선택"으로 계산하는 것을 원하지 않습니다. 또한 제공된 측정 항목에 대한 보고서 형식을 생성해야합니다. 이를위한 좋은 도구가 있습니까?
나는 Metrics 플러그인을 사용해 보았지만 훌륭하고 모든 것이지만 내 상사가 찾고있는 것이 아닙니다. 한 줄을 한 줄로 계산하고 "줄이 아니라 }
스타일 선택"으로 계산하는 것을 원하지 않습니다. 또한 제공된 측정 항목에 대한 보고서 형식을 생성해야합니다. 이를위한 좋은 도구가 있습니까?
답변:
Eclipse Metrics Plugin을 설치합니다 . HTML 보고서를 작성하려면 (선택적 XML 및 CSV 사용) right-click a project -> Export -> Other -> Metrics
.
공백 및 주석 전용 행을 무시하여 코드 행 메트릭을 조정하거나 원하는 경우 Javadoc을 제외 할 수 있습니다. 이렇게하려면에서 탭을 확인하십시오 Preferences -> Metrics -> LoC
.
그게 다야. 중괄호를 제외하는 특별한 옵션은 없습니다 {}
.
플러그인은 Number of Statements 라는 LoC에 대한 대체 메트릭을 제공합니다 . 저자는 이에 대해 다음과 같이 말합니다.
이 메트릭은 메서드의 문 수를 나타냅니다. 후자는 다른 형식화 규칙과 관련하여 취약하기 때문에 코드 줄보다 더 강력한 측정이라고 생각합니다.
편집하다:
질문을 명확히하신 후 컴파일러 경고 또는 오류와 같은 실시간 측정 항목 위반에 대한보기가 필요하다는 점을 이해합니다. 상사를위한 보고서를 작성하려면보고 기능도 필요합니다. 위에서 설명한 플러그인은보고를 위해 메트릭을보고 싶을 때 내 보내야하기 때문에보고 용입니다.
right click a project -> Export
eclipse 마켓 플레이스에서 직접 플러그인을 설치했습니다. 버전은- Eclipse Metrics 3.12.0
입니다. 누구든지 도와주세요. 감사!
항상 "무력한 힘"이 있습니다.
검색-> 파일
"텍스트 포함"->에 다음을 입력합니다 ^.*$
. 그런 다음 "정규식"확인란을 선택하십시오.
"파일 이름 패턴"에 다음 입력-> *.java
"검색"을 클릭하십시오
"검색"탭에서 일치하는 수를 확인하십시오.
\n[\s]*
빈 줄도 무시합니다
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 {} \;
find . -name "*.java" | xargs cat | grep "[a-zA-Z0-9{}]" | wc -l
또 다른 방법은 예를 들어 LocMetrics 와 같은 다른 loc 유틸리티를 사용하는 것 입니다.
또한 다른 많은 loc 도구를 나열 합니다 . 이클립스와 통합은 (는 함께있을 것처럼 항상되지 않을 것 Metrics2 이보다 최신 버전이기 때문에 체크 아웃 할 수 메트릭 ), 그러나 적어도 그 도구의 기간에 이유가있다 논리적 라인 (합산하여 계산 터미널 세미콜론 및 터미널 중괄호).
또한 eclipse-metrics 가 당신이 기대하는 것에 더 잘 적응했는지 확인할 수 있습니다.
또 다른 도구는 Google Analytix로 , 오류 발생시 프로젝트를 빌드 할 수없는 경우에도 측정 항목을 실행할 수 있습니다.
Eclipse에서 코드 줄을 계산하는 한 가지 가능한 방법 :
검색 / 파일 ... 메뉴를 사용하여 파일 검색 탭을 선택하고 텍스트 포함에 \ n [\ s] *를 지정하고 (빈 줄은 계산하지 않음) 정규식을 선택합니다.
소스 코드 줄을 셀 수있는 Eclipse 플러그인을 만들었습니다. Kotlin, Java, Java Script, JSP, XML, C / C ++, C # 및 기타 여러 파일 유형을 지원합니다.
좀 봐주세요. 모든 의견을 주시면 감사하겠습니다!
ProjectCodeMeter는 설명 된대로 LLOC (코드의 논리 줄)를 정확히 계산합니다 (유효 줄만). 그것은 외부 코드 메트릭 도구 로 eclipse에 통합 되지만 실시간은 아니지만 보고서를 생성합니다. 실제로 복잡성, 산술 복잡, 하드 코딩 된 문자열, 숫자 상수와 같은 많은 소스 코드 메트릭을 계산합니다. .
정적 분석을 위해, 내가 사용하고 실행 SonarQube 추천 한 단지 모두에 대해 당신이 가능하게 할 수있는 측정 에 다양한 언어를 , 그리고 기본 버전 무료입니다 (당신은 언어 내가 좋겠의 종류를 분석하기 위해 지불해야 내 머리에 총으로 만 코드를 입력합니다).
소스 코드 저장소에서 분석을 실행하는 웹 앱으로 설치해야하지만 Eclipse 플러그인도 있습니다.
일회성으로 프로젝트에 몇 줄의 코드가 있는지 알고 싶다면 과잉입니다. 시간을 통해 메트릭을 추적하고, 프로젝트간에 비교하고, 임계 값을 초과 할 때 경고를 발생시키는 등 환상적입니다.
공개 : 저는 SonarSource와 재정적 관계가 없습니다.
가장 먼저해야 할 일은 "코드 라인"(LOC)의 정의를 결정하는 것입니다. 두 질문 모두
} 하나만있는 줄을 한 줄로 계산하고 그는 "줄이 아니라 스타일 선택"으로 계산하는 것을 원하지 않습니다.
그리고 답변에서, 예를 들어,
공백 및 주석 전용 행을 무시하여 코드 행 메트릭을 조정하거나 원하는 경우 Javadoc을 제외 할 수 있습니다.
사람들이 코드 줄을 구성하는 것에 대해 서로 다른 의견을 가지고 있음을 알 수 있습니다. 특히, 사람들은 종종 코드 줄 수 또는 명령문 수를 원하는지에 대해 부정확합니다. 예를 들어, 다음과 같은 매우 긴 문장으로 채워진 줄이 있다면 무엇을보고할까요 (1 LOC 또는 수백 개의 문장)?
{ a = 1; b = 2; if (a==c) b++; /* etc. for another 1000 characters */ }
그리고 누군가 LOC라고 부르는 것이 무엇인지 물어 보면 "LOC에 대한 나의 정의는 Metrics2의 정의입니다"라고해도 대답 할 수 있는지 확인하십시오. 일반적으로 가장 일반적으로 형식이 지정된 코드 (내 예제와 달리)의 경우 인기있는 도구는 숫자가 상당히 유사하므로 Metrics2, SonarQube 등은 일관되게 사용하는 한 모두 괜찮습니다. 즉, 하나의 도구를 사용하여 일부 코드의 LOC를 계산하지 말고 해당 값을 다른 도구로 측정 한 해당 코드의 최신 버전과 비교하십시오.