2013-09-03 2 views
2

음파 탐지기 보고서에서 getter 및 setters를 제외하는 way이 있습니다.소나에서 단순 게터와 세터를 어떻게 제외합니까?

public int getId(){ 
    return this.id; 
} 

public int getComplexId(){ 
    int result = 0; 
    // some complex calculation there 
    return result; 
} 

그것은 가능하다 배제합니다 getId()와 동시에) getComplexId를 (포함 : 나는 2 "게터는"한 가정? Sonar가 복잡한 코드에서 this.id를 반환 할 수 있습니까?

+0

아마도 정확히 원하는 것은 아닙니다. 하지만 간단한 접근 자 (getter 또는 setter)가 아니기 때문에'calculateComplexId()'메서드의 이름을 지정할 수 없습니까? – Magnilex

+0

간단한 예제에서 - 예, 실제 코드 번호는 없습니다. :-) – Cherry

답변

1

NOPMD 주석을 사용하여 음파 분석을 피할 수 있습니다. OFF 코멘트 :

public int getId(){ // NOPMD 
    return this.id; 
} 

public int getComplexId(){ 
    int result = 0; 
    // some complex calculation there 
    return result; 
} 

은 또한 당신은 // NOSONAR 또는 // CHECKSTYLE를 사용할 수 있습니다. 더 많은 정보 in http://www.sonarqube.org/sonar-1-12-in-screenshots/

+0

재미 있군요. 일반적으로 소나는 코드 행에 대한 주석에 대한 후행 주석 위반을 생성합니다. 당신의 대답이 틀렸다는 것을 말하는 것이 아니라, 소나 팀의 위대한 해결책입니다. – Magnilex

+0

사실, 작동하지만 ... –

+1

매우 재미 있습니다. 코드 분석을 더 간단하게하려면 // CHECKSTYLE : OFF 및 // CHECKSTYLE : ON과 함께 원숭이 코드를 추가해야합니다. 그러나 어쨌든 귀하의 답변 주셔서 감사합니다. :-) – Cherry

0

@Cherry, Out of box SonarQube는 이미 예상대로 동작합니다. 첫 번째 방법은 getter로 간주되고 두 번째 방법은 일부 논리를 포함하므로 고려하지 않습니다.

+0

이상한, 나는 음파 탐지기 소나 보고서를보고 그것을 강조 표시합니다. 몇 가지 설정을 놓칠 수 있습니까? 또는 [설정] (http://skitch-img.s3.amazonaws.com/20100903-ekunteuietuq9j394prku9d37t.jpg)을 사용하면 소나가 예상대로 작동합니까? – Cherry

+0

정확히 제공된 Cherry가되도록 제공된 예제에서 SonarQube는 기본적으로 SonarQube Java 버전 1.5 (http://jira.codehaus.org/browse/SONARJAVA-1)에서 해결 될 제한 사항으로 인해 두 가지 메소드와 0 접근자를보고합니다. 7). 따라서 1.5 버전에서는 기본적으로 접근 자로보고되고 두 번째 것은 항상 메소드로보고됩니다. –

관련 문제