CodeQL 文档

无用参数

ID: java/unused-parameter
Kind: problem
Security severity: 
Severity: recommendation
Precision: high
Tags:
   - maintainability
   - useless-code
   - external/cwe/cwe-561
Query suites:
   - java-security-and-quality.qls

点击查看 CodeQL 仓库中的查询

在方法体中从未读取的参数,并且由于重写而不需要的参数是无用的,可以删除。无用的参数会不必要地使该方法的接口复杂化,并造成维护和开发负担。

具有无用参数的方法表明该方法可以通过删除参数来简化,或者该方法未使用应该使用的值。重写其他方法的方法的参数不会被标记为无用,因为它们是必需的。类似地,如果重写方法中的一个方法使用参数,则重写其他方法的参数不会被标记为无用。

建议

应该检查该方法,以确定参数是否应该在方法体中使用。如果该方法被重写,还要考虑任何重写方法是否应该使用参数。如果参数不是必需的,则应删除它。

示例

在以下示例中,我们有一个方法用于确定 String 路径是否为绝对路径。

public void isAbsolutePath(String path, String name) {
	return path.startsWith("/") || path.startsWith("\\");
}

该方法使用参数 path 来确定返回值。但是,参数 name 在方法体中未使用。该参数将被标记为无用,可以从程序中删除。

参考资料

  • ©GitHub, Inc.
  • 条款
  • 隐私