findbugs에서
DM_NUMBER_CTOR : 방법은 비효율적 번호 생성자를 호출; static valueOf를 대신 사용하십시오
문제는 Groovy에서 생성 된 코드 파일에서 발생하므로 소스 코드를 제어 할 수 없다는 것입니다. 이것이이를 제외하고 내 제외 필터에 추가하려는 이유입니다.
클래스를 명시 적으로 추가하고 싶지 않습니다. (많은 도구에서 사용할 API를 만들었으므로 필자의 필터가 일반화되기를 바랍니다.) 유형별 보고서에서이 버그를 완전히 제거하고 싶지는 않지만 "정적 초기화 도구"메소드에서이 버그가 나타나면이 버그가 나타나지 않도록 제외하고 싶습니다. 어떤 생각? 나는 아래의 필터를 시험해 보았으나 운이 없었다. 아마도 누군가는 더 좋은 생각을 가지고 있을까?
net.milanaleksic.cuc.tools.sound.SoundPlayerTool 클래스의 메소드 net.milanaleksic.cuc.tools.sound 물 :
<Match>
<Method name="~.*static initializer.*" />
<Bug pattern="DM_NUMBER_CTOR" />
</Match>
여기있는 경우 FindBugs의 "스택 트레이스"이다. SoundPlayerTool.() 호출 방법 새 이 SoundPlayerTool.groovy
이 왜 그루비 코드에이 '멋', 않습니다 FindBugs 작업 태그가 ... 나는 확실하지 않다 그러나 나는 버그가 실제로 일어나는 경우에 같은 방법 이름 (
<clinit>
)이 언급 한 생각 그루비 클래스에 있지만, 실제로 유용한 결과입니까? –그것은 여전히 너무 일찍,하지만 나는 그것에 담겨있는 시간이되면 좋은 일을 할 수 있다고 생각 findbugs. 컴파일 된 Java 및 Groovy 파일 (Groovy 작업 사용)을 사용하여 폴더를 대상으로하므로 기본적으로 Java 및 Groovy에서 생성 된 바이트 코드의 findbug 처리를 수행합니다. 다음 페이지에서 AspectJ 컴파일 바이트 코드를 비슷한 경우로 필터링하는 예제를 볼 수 있습니다. http://findbugs.sourceforge.net/manual/filter.html#d0e2050 –