for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
class VolunteerEvent extends VolunteerObject
{
public function __construct($departmentID, $dbData = null)
parent::__construct($departmentID, $dbData, 'events', '_id');
}
public function hasVolOnEEList($uid, $eeListIndex)
if($eeListIndex === 1 || $eeListIndex === 0)
//Check earlier EE lists too
$val = $this->hasVolOnEEList($uid, $eeListIndex+1);
if($val === true)
return true;
if(isset($this->dbData['eeLists']) && isset($this->dbData['eeLists'][$eeListIndex]))
$eeList = $this->dbData['eeLists'][$eeListIndex];
if(isset($eeList[$uid]) && $eeList[$uid]['AAR'] === true && $eeList[$uid]['AF'] === true && $eeList[$uid]['Lead'] === true)
return false;
public function addToEEList($uid, $eeListIndex)
if(!isset($this->dbData['eeLists']))
$this->dbData['eeLists'] = array();
if(!isset($this->dbData['eeLists'][$eeListIndex]))
$this->dbData['eeLists'][$eeListIndex] = array();
$eeList
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
$myVar = 'Value'; $higher = false; if (rand(1, 6) > 3) { $higher = true; } else { $higher = false; }
Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.
$myVar
$higher
if(!isset($this->dbData['eeLists'][$eeListIndex][$uid]))
$this->dbData['eeLists'][$eeListIndex][$uid] = array('AAR'=>false, 'AF'=>false, 'Lead'=>false);
$dt = $this->getDataTable();
$filter = $this->getDataFilter();
return $dt->update($filter, $this->dbData);
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.
Both the
$myVarassignment in line 1 and the$higherassignment in line 2 are dead. The first because$myVaris never used and the second because$higheris always overwritten for every possible time line.