IT이야기

특정 코드에 대한 소나 끄기

cyworld 2022. 7. 1. 21:58
반응형

특정 코드에 대한 소나 끄기

측정하지 않으려는 특정 코드 블록에 대해 소나(www.sonarsource.org) 측정을 해제할 수 있습니까?

예를 들어 Findbugs가 출력하는 "Preserve Stack Trace" 경고가 있습니다.서버에서 나갈 때 클라이언트에 대해 그 예외를 알 수 없는 경우(예를 들어 클라이언트에 해당 예외가 포함된 JAR이 없기 때문에) 방금 포착한 실제 예외를 포함하지 않고 메시지를 클라이언트에만 전달할 수 있습니다.

SuppressWarnings를 사용하여 클래스 또는 메서드에 주석을 달 수 있습니다.

@java.lang.SuppressWarnings("squid:S00112")

경우 squid:S00112는 Sonar 문제 ID입니다.이 ID는 Sonar UI에서 찾을 수 있습니다.문제 드릴다운으로 이동합니다.경고를 억제할 문제를 찾습니다.코드의 빨간색 문제 상자에는 특정 문제에 대한 정의가 포함된 규칙 링크가 있습니다.클릭하면 페이지 상단에 ID가 표시됩니다.

다음을 사용하여 특정 경고를 억제할 것을 권장합니다.@SuppressWarnings("squid:S2078").

여러 경고를 억제하려면 다음과 같이 할 수 있습니다.@SuppressWarnings({"squid:S2078", "squid:S2076"})

또,//NOSONAR특정 회선의 모든 오류를 무시하도록 SonarQube에 지시하는 코멘트.

마지막으로 사용자 인터페이스에 대한 적절한 권한이 있는 경우 인터페이스에서 직접 false positive 플래그를 발행할 수 있습니다.

특정 경고의 억제를 권장하는 이유는 특정 문제를 차단하는 것이//NOSONAR음파탐지기 문제가 우연히 코드에 잠입하는 위험을 감수해야 합니다

자세한 내용은 FAQ를 참조하십시오.

편집: 6/30/16 SonarQube가 SonarLint로 불리게 되었습니다.

오징어 번호를 어떻게 찾을지 궁금할 때.Sonar 메시지(예: Remove this method to simply inherit it.Sonar 문제가 확대됩니다.

왼쪽 하단에 오징어 번호(예: squid:S1185유지보수성>이해성)

그러면 그걸 억누를 수 있어요@SuppressWarnings("squid:S1185")

이것은 FAQ입니다.넣을 수 있습니다.//NOSONAR경고를 트리거하는 마지막 줄에 있습니다.

//NOSONAR

대부분의 언어에서 SonarQube는 범용 메커니즘 사용을 지원합니다.//NOSONAR그 문제의 마지막 줄에.이렇게 하면 현재와 미래에 발생할 수 있는 모든 문제가 억제됩니다.

단, FindBugs 메커니즘을 사용하는 것이 좋습니다.이 메커니즘은 @Suppress를 추가하는 것으로 구성됩니다.FBWarnings 주석:

@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
    value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
    justification = "Why you choose to ignore it")

코드를 지원할 수 없는 경우 경고가 표시되는 줄에 //NOSONAR를 사용합니다.됐다!

Squid 번호를 소나 5.6에서 찾을 수 없습니다. 이 주석도 작동합니다.

@SuppressWarnings({"pmd:AvoidCatchingGenericException", "checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"})

사실 어떤 것이 문제 아이디인지 이해하기 어렵기 때문에 기본적으로 모든 규칙에 적용되는 @Suppress Warnings ("all") 주석을 사용했는데 좀 더 정확하게 말하면 ID를 사용하는 것이 좋습니다.그림 보기 -> Sonar 문제 ID를 클릭합니다.

빨간색 상자에서 "Why is this is issue?"를 클릭하면 설명과 함께 화면이 나타납니다.왼쪽 화면 위에는 규칙 이름이 표시되고 왼쪽에는 이 규칙의 ID가 표시됩니다.따라서 이 규칙을 적용하려면 클래스 또는 메서드에 이 주석을 추가해야 합니다.

@Suppress Warnings("common-java:Duplicated Blocks')

언급URL : https://stackoverflow.com/questions/10971968/turning-sonar-off-for-certain-code

반응형