5 回答

TA貢獻1850條經驗 獲得超11個贊
如果您使用maven-pmd-plugin
,它默認會忽略測試。您可以將其配置為includeTests
.?
? ? <plugin>
? ? ? ? <artifactId>maven-pmd-plugin</artifactId>
? ? ? ? <executions>
? ? ? ? ? ? <execution>
? ? ? ? ? ? ? ? <phase>package</phase>
? ? ? ? ? ? ? ? ? ? <goals>
? ? ? ? ? ? ? ? ? ? ? ? <goal>check</goal>
? ? ? ? ? ? ? ? ? ? </goals>
? ? ? ? ? ? </execution>
? ? ? ?</executions>
? ? ? ?<configuration>
? ? ? ? ? ?<rulesets>
? ? ? ? ? ? ? ?<ruleset>/my-custom-rules.xml</ruleset>? // Your own rules here
? ? ? ? ? ?</rulesets>
? ? ? ? ? ?<includeTests>true</includeTests> // Default value is false
? ? ? ?</configuration>
? ? </plugin>
關于TooManyStaticImports
規則,就像任何其他 PMD 規則一樣,它可能是主觀的,并且不一定適合所有用例或代碼風格。這就是為什么它說“可能導致混亂的代碼”。
一般來說,如果您想靜音一個類的規則,您可以使用:
@SuppressWarnings("PMD.TooManyStaticImports")
或者,如果您想微調規則,您可以提供自己的自定義配置,例如:
<rule ref="category/java/codestyle.xml/TooManyStaticImports">
? ? <properties>
? ? ? ? <property name="maximumStaticImports" value="6" /> // Default is 4
? ? </properties>
</rule>

TA貢獻1757條經驗 獲得超8個贊
基本上這是不好的做法,因為您引用另一個類的靜態字段,在某種程度上您可以從當前文件中尋址靜態屬性。為了防止出現此 PMD 錯誤,您必須進行合格的調用。
代替:
BAD_REQUEST;
INTERNAL_SERVER_ERROR;
NOT_FOUND;
UNPROCESSABLE_ENTITY;
稱呼:
HttpStatus.BAD_REQUEST;
HttpStatus.INTERNAL_SERVER_ERROR;
HttpStatus.NOT_FOUND;
HttpStatus.UNPROCESSABLE_ENTITY;

TA貢獻1811條經驗 獲得超4個贊
您可以嘗試導入上一級。
例如,使用Constant.MY_VAR
而不是直接使用MY_VAR
. 因此,您不必在 Constant 中單獨導入每個變量,只需導入 Constant 并使用Constant.MY_VAR
.
添加回答
舉報