A dead store happens when a local variable is assigned a value that is not read by any subsequent instruction. Calculating or retrieving a value
only to then overwrite it or throw it away, could indicate a serious error in the code. Even if it’s not an error, it is at best a waste of resources.
Therefore all calculated values should be used.
Noncompliant Code Example
$i = $a + $b; // Noncompliant; calculation result not used before value is overwritten
$i = compute();
Compliant Solution
$i = $a + $b;
$i += compute();
Exceptions
This rule ignores initializations to -1, 0, 1, null
, true
, false
, ""
, []
and
array()
.
See
- MITRE, CWE-563 - Assignment to Variable without Use ('Unused Variable')