mirror of
https://github.com/github/codeql.git
synced 2025-12-25 13:16:33 +01:00
40 lines
1.5 KiB
XML
40 lines
1.5 KiB
XML
<!DOCTYPE qhelp PUBLIC
|
|
"-//Semmle//qhelp//EN"
|
|
"qhelp.dtd">
|
|
<qhelp>
|
|
<overview>
|
|
<p>
|
|
Parameters that are never read in the body of the method, and are not required due to overriding,
|
|
are useless and can be removed. Useless parameters unnecessarily complicate the interface for that
|
|
method, and cause a maintenance and development burden.
|
|
</p>
|
|
<p>
|
|
Methods with useless parameters indicate that either the method can be simplified by removing the
|
|
parameter, or that the method is not using a value it should be using. Parameters of methods that
|
|
override other methods will not be marked as useless, because they are required. Similarly,
|
|
parameters of methods that are overridden by other methods are not marked as useless if they are
|
|
used by one of the overriding methods.
|
|
</p>
|
|
</overview>
|
|
<recommendation>
|
|
<p>
|
|
The method should be inspected to determine whether the parameter should be used within the body.
|
|
If the method is overridden, also consider whether any override methods should be using the
|
|
parameter. If the parameter is not required, it should be removed.
|
|
</p>
|
|
</recommendation>
|
|
<example>
|
|
<p>
|
|
In the following example, we have a method for determining whether a <code>String</code> path
|
|
is an absolute path:
|
|
</p>
|
|
<sample src="UselessParameter.java" />
|
|
<p>
|
|
The method uses the parameter <code>path</code> to determine the return value. However, the
|
|
parameter <code>name</code> is not used within the body of the method. The parameter will be marked
|
|
as useless, and can be removed from the program.
|
|
</p>
|
|
</example>
|
|
<include src="DeadCodeReferences.qhelp" />
|
|
</qhelp>
|