2017-10-13 1 views
2

클래스 이름 패턴에 따라 PMD 규칙에서 클래스를 제외 할 수있는 방법이 있습니까?regexp에 의해 pmd 규칙에서 클래스를 제외하는 방법

<rule ref="rulesets/java/coupling.xml/ExcessiveImports"> 
    <exclude-pattern>.*Test\.class</exclude-pattern> 
</rule> 

내가 violationSuppressXPath 접근 알고 있어요하지만 난 너무 추한 찾기/복합 :

내가 좋아하는 STH를 찾고 있어요.

감사합니다.

답변

2

나는 두려워하지 않습니다. 현재는 특정 규칙이 아닌 을 사용하여 분석 된 파일을 완전히 무시할 수 있습니다.

코드베이스에 룰셋을 적용 할 때 가능한 한 일관성을 유지해야합니다. 이 과정에서 몇 가지 예외를 제외하고는 간주됩니다 :

  • 테스트/주요 코드 규칙이 매우 구체적인 적용되지 않을 수 있습니다 개별 사례를 억제 할 수
  • 에 대해 별도의 규칙 세트, 아직 유효 이유

을 가진 귀하의 예가 첫 번째 시나리오의 방향을 가리키는 것처럼 보입니다. 테스트 클래스에 대해 좀 더 편한 규칙을 원한다면 별도의 구성을 만들고 PMD가 두 가지 개별 분석을 실행하도록해야합니다.

그러나 이것은 PMD 자체의 범위를 벗어나지 만 실행 방법은 다릅니다. Gradle/Ant/CLI에서 이것은 매우 간단합니다. Maven에서 불행히도 현재 지원되지 않습니다 (기능 요청을 찾을 수 있고 투표하려면 here입니다)

이전 두 가지 시나리오에서 다루지 않은 다른 시나리오가 있다고 생각되면 https://github.com/pmd/pmd/issues에 기능 요청을 게시하십시오.

관련 문제