2013-11-24 2 views
10

"프로그램"폴더에 수많은 관련없는 Java 프로그램이 있습니다. 개별 프로그램마다 기술적 부채 점수를 자동으로 계산할 수 있기를 정말로 바랍니다. 나는 SonarQube가 Sonar-Runner으로이 일을 할 수 있음을 이해합니다. 그러나 저는 이것을 동적으로하는 것이 정말 좋을 것입니다. 그래서 "프로그램"내의 모든 프로그램의 기술적 부채 점수를 분석하고 쓰도록 할 수 있습니다. 폴더를 csv에 넣습니다.기술적 부채를 동적으로 계산할 수 있습니까?

나를 위해이 일을 할 수 있다면, 나는 다른 종류의 기술적 부채 소프트웨어 (또는 그 문제에 대한 품질)를 시도해보기를 기꺼이 행복하다. 나는 이것이 실제로 가능할 지에 대한 어떤 의견이나 생각을 정말로 고맙게 생각할 것입니다.

+0

모두 동일한 프로젝트 구조를 사용합니까? 어쩌면 그들은 모두 Maven을 사용하고 관련 규칙을 사용하는 것처럼 말입니다. 그렇지 않다면 소스 코드 폴더, 단위 테스트 폴더, Java 컴파일러 버전 등을 동적으로 감지하는 도구를 사용하는 것이 거의 불가능합니다. – NickDK

+0

+1 매우 흥미로운 질문입니다. 그러나 자동 TD 예측의 오류에 대한 하한선이 너무 커서 의미있는 결과가 도출되기 어렵습니다. –

답변

0

Eclipse Metrics 플러그인을 사용하면 원하는 결과를 얻을 수 있습니다. 다양한 종류의 복잡성 (커플 링, 순환 복잡성, 응집력, 방법 길이 등)을보고하여 프로젝트의 상태를 확인할 수 있습니다.

자신의 페이지에서

:

이 이클립스 플러그인 빌드주기 동안 코드에 대한 다양한 통계를 계산하고 각 메트릭에 대한 '범위 위반'으로, 문제점보기를 통해 경고합니다. 따라서 코드 기반의 상태를 지속적으로 파악할 수 있습니다. 메트릭을 공용 디스플레이 용 HTML 또는 추후 분석을위한 CSV 또는 XML 형식으로 내보낼 수도 있습니다. 이 내보내기는 Eclipse 내에서 또는 Ant 태스크를 사용하여 수행 할 수 있습니다.

http://eclipse-metrics.sourceforge.net/

4

은 당신이 할 수있는 예, Sonar은 코드 분석 도구입니다, 심지어 사람이 시간 달러로 기술 채무를 추정 할 수있는 플러그인이 있습니다. 설치 및 실행이 매우 쉽습니다. 다운로드하고, 압축을 풀고 시작합니다 (내부 DB가 함께 제공되므로 별도의 구성 종속성이 필요하지 않습니다).

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>sonar-maven-plugin</artifactId> 
    <version>2.0</version> 
</plugin> 

을 실행 : 당신이 받는다는 사용하는 경우, 당신은 당신의 pom.xml이 추가

maven sonar:sonar 

소나 다음, 당신에게 당신의 코드에 대한 유용한 정보의 모든 종류를 표시 기술적 부채를 포함 할 것이다.

------ 업데이트 1 ------

여러 프로젝트, 당신은 그들에게 하나 개의 상위 프로젝트의 모든 아이들을 부모에 mvn sonar:sonar를 실행할 수 있습니다 (그들은 받는다는 가정하에)가있는 경우 , 그것은 당신을 위해 모든 아이들을 분석 할 것입니다. Here is an example of multiple projects.

0

이 답변들은 모두 훌륭했지만 정확히 내가 원하는 것은 아닙니다.

  1. 내가 자바 프로젝트를 만드는거야, 내가 자동으로 각 개별 프로젝트에 sonar-properties.properties 파일을 기록하는 자바 클래스가 : 나는 내 주위에 자신의 작품을 만들 수 있었다.

  2. 그때

  3. 나는 다음 sonar-properties.properties 파일을 찾는 디렉토리를 드릴 스크립트를 작성 (명령 프롬프트를 통해) 수중 음파 탐지기 서버를 시작합니다. 발견하면 소나 러너를 시작합니다.

참고 특성 파일은 프로젝트에 해당하는 프로젝트 키가 (내가 분석하기 위해 노력하고있어 각 프로젝트는 자신의 프로젝트 키의가) - 그래서 나는 단순히 로컬 호스트에 가서 볼 수있는 내가 만든 각 속성 파일에 대한 링크.

관련 문제