2013-09-25 4 views
0

최근 SonarQube 설치에서 Java pugin을 업데이트했습니다. 이제 UndocumentedApi의 많은 인스턴스가보고되었습니다.Sonarqube의 UndocumentedApi가 쓸모 없게 되었습니까?

공용 함수의 모든 매개 변수를 문서화해야하며 반환 값도 동의하지 않습니다. (종종 텍스트는 Spring MVC 컨트롤러에 대해 논쟁이 반복적이며 뻔뻔스럽게 명백하다는 것을 전제로합니다.) 그러나 모든 공개 메소드를 문서화해야한다는 것에 동의합니다. (이 질문은 여기 내 의견이 합리적인지 아닌지에 관한 내용입니다.)

더 중요한 문제를 숨기거나>이 분석을 잃어 버리는 경고보다> 1000 경고가 나타나는 옵션 만 있습니다. 나는 옵션을 간과 했습니까? 구성 가능한 플러그인이 더 있습니까?

+1

경고를 생성하는 규칙은 무엇입니까? PMD? Checkstyle? checkstyle에는 public 메서드에 대한 주석을 추가하고 해당 주석의 각 매개 변수를 문서화해야하는 별도의 규칙이 있다는 것이 확실합니다. –

+0

오징어 야. 세 가지 Checkstyle 규칙 (유형, 변수, 메소드에 대해 별도)이 있지만 더 이상 사용되지 않는 것으로 표시됩니다. –

+0

음, 오징어에 대해 모르겠다. Checkstyle을 사용하지만 더 이상 사용되지 않는 규칙을 발견하지 못했습니다. 대신 사용할 규칙을 찾을 수 있습니까? 어떤 것이 더 이상 사용되지 않으면 일반적으로 대체됩니다 ;-) –

답변

1

분석을 조정하고 노이즈를 제거하려면 스위치 끄기 위반 플러그인을 사용해야합니다. 내가 이해하고있는 바에 따르면,이 경우 UntocumentedApi 규칙은 Spring 클래스와 관련이 없으므로 비활성화 할 수 있습니다. http://docs.codehaus.org/display/SONAR/Switch+Off+Violations+Plugin을 참조하십시오.

+0

이것은 멋진 플러그인처럼 보입니다. 그러나 거기에 기록 된 규칙을 사용하여 모든 Spring 컨트롤러를 자동으로 제외시키는 방법은 없습니다. 또한, 이러한 Spring 컨트롤러는 문서화 매개 변수가 잡음 인 한 가지 예일뿐입니다. 우리는 수백만 명의 대중이 접근 할 수있는 도서관을 만들지 않는다는 점을 고려할 때 그만큼 엄격하지 않기를 바랄뿐입니다. –

+0

정확히 그 스프링 컨트롤러는 무엇입니까? 명명 규칙을 따르는 클래스 \ * SpringControllers.java? 특정 패키지에 항상 저장되는 클래스 \ * \ */mySpringControllers/**/*. java? –

+0

특정 패키지가 없으며 네, 컨벤션은 'Controller ...'라고 지칭합니다. (우리를위한) 진짜 기준은'@ Controller' 주석이 달려 있다는 것입니다. 운좋게도 XML을 사용하지 않습니다. –

관련 문제