Ben zaten bazı sütunları özetlemek için formüller ile bir tablo yapmak için tasarlanmış bazı PHP kodu var. Bu, aşağıda kod daha bunu yapmak için çok daha şık bir yolu olmalı gibi görünüyor. Iyi aşağıdaki kodu gibi bir şey başarmak olabilir bazı refactorings veya tasarım desenleri nelerdir?
<?
echo ",Current Milestone,Total Hours,Milestone 1 Hours,Milestone 2 Hours,Milestone 3 Hours\n";
$row = 2;
$totSSRange = "";
foreach($departments as $dept){
$deptStartRow = $row + 1;
echo $dept['name']."\n";
foreach($dept['modules'] as $module){
$row++;
echo $module['name'].','.$module['ms'].',=SUM(D'.$row.':F'.$row.'),'.$module['m1'].','.$module['m2'].','.$module['m3']."\n";
}
$deptSSRange = "C".$deptStartRow.":C".$row;
$totSSRange .= $deptSSRange.",";
$sumStr = "=SUM(".$deptSSRange.")";
echo 'Sum,,'.$sumStr.','.str_replace("C","D",$sumStr).','.str_replace("C","E",$sumStr).','.str_replace("C","F",$sumStr)."\n\n";
$row+=3;
}
$totSumStr = "\"=SUM(".$totSSRange.")\"";
echo 'Total,,'.$totSumStr.','.str_replace("C","D",$totSumStr).','.str_replace("C","E",$totSumStr).','.str_replace("C","F",$totSumStr);
?>