2014-09-23 5 views
1

Я начинаю использовать инструменты анализа статического кода, такие как Checkstyle, PMD и FindBugs. PMD позволяет выделить код, рассмотренный путем добавления комментария к концу строки:PMD мешает CheckStyle

System.out.println("Test"); // NOPMD by edward on 9/23/14 10:22 AM 

Я действительно не люблю отставая комментарии и так же CheckStyle ("Не использовать трейлинг комментарии. «). Есть ли способ сообщить PMD, что конкретный код просматривается, без использования завершающих комментариев?

ответ

3

Другим способом решения это может быть, чтобы настроить Checkstyle сделать исключение из TrailingComment правил для подавления комментариев, как это:

<module name="TrailingComment"> 
    <property name="legalComment" value="^NOPMD .*"/> 
</module> 
2

Вы пытаетесь, чтобы добавить код: @SuppressWarnings("PMD") к этому классу или к способу получения предупреждения. Однако это не лучшее решение, потому что оно отключит все предупреждения на отмеченной цели. Here, you can read more about suppressing.

Возможно, вы можете попробовать FaultHunter, который очень похож на PMD и может подавлять предупреждения по типу (например, @SuppressWarnings("FH.UnusedConstructor")) и даже на уровне метода.

+0

PMD также имеет эту функцию, вы можете подавить нарушение правил через '@SuppressWarnings («PMD.RuleName») ', возможно, в тот день это было не так. По-прежнему плохой практикой использовать '@ SuppressWarnings' вместо' // NOPMD', поскольку однократное нарушение строки должно влиять на весь метод (т. Е. Подавление одного нарушения - это то, что вы хотите, но не все будущие нарушения такого же типа). – TWiStErRob