Java Maven checkstyle插件给出了错误的;参数s应为最终参数;,甚至连s都被修改了
我们正在使用maven checkstyle插件。下面是pom.xml配置Java Maven checkstyle插件给出了错误的;参数s应为最终参数;,甚至连s都被修改了,java,maven,checkstyle,Java,Maven,Checkstyle,我们正在使用maven checkstyle插件。下面是pom.xml配置 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.17</version> <configuration>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<configuration>
<configLocation>sun_checks.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<logViolationsToConsole>true</logViolationsToConsole>
<failsOnError>true</failsOnError>
<failOnViolation>true</failOnViolation>
<violationSeverity>error</violationSeverity>
</configuration>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>7.8.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
现在,mvn clean package
给出了以下控制台消息
[错误]
/work/checkstyle/teststyleguide/src/main/java/com/comp/teststyleguide/A.java:5:12:
参数s应为最终参数。[最终参数]
您不应该重新分配参数 Checkstyle为您不希望将参数设置为final的情况提供了一个单独的选项 从JavaDoc: 不允许分配参数 理由:参数分配通常被认为是拙劣的编程 练习。强迫开发人员将参数声明为final通常是错误的 繁重的进行检查以确保从未分配参数 这两个世界都是最好的
您不应该重新分配参数 Checkstyle为您不希望将参数设置为final的情况提供了一个单独的选项 从JavaDoc: 不允许分配参数 理由:参数分配通常被认为是拙劣的编程 练习。强迫开发人员将参数声明为final通常是错误的 繁重的进行检查以确保从未分配参数 这两个世界都是最好的
在方法中重新指定方法参数值不是好的编程实践 检查方法、构造函数和catch块的参数是否正确 最终的未检查接口、抽象和本机方法: final关键字对于接口、抽象和本机没有意义 方法参数,因为没有可以修改参数的代码 理由:在执行过程中更改参数值 该方法的算法可能会令人困惑,应避免使用。伟大的 让Java编译器阻止这种编码风格的方法是声明 最终参数
您可以在checkstyle文档中找到更多信息 在方法中重新指定方法参数值不是好的编程实践 检查方法、构造函数和catch块的参数是否正确 最终的未检查接口、抽象和本机方法: final关键字对于接口、抽象和本机没有意义 方法参数,因为没有可以修改参数的代码 理由:在执行过程中更改参数值 该方法的算法可能会令人困惑,应避免使用。伟大的 让Java编译器阻止这种编码风格的方法是声明 最终参数 您可以在checkstyle文档中找到更多信息
package com.comp.teststyleguide;
public class A {
public A(String s) {
s = "test1";
}
}