Devloper Guidelines: Refactoring¶
Folgende Dinge sind zu beachten beim Refactoring von Legacy-Code.
Type-Checking¶
Falsche Reihenfolge in if Abfragen¶
Falsch:
if (count($fzg_daten['colors']) > 0 and is_array($fzg_daten['colors'])) {
Richtig:
if (is_array($fzg_daten['colors']) && count($fzg_daten['colors']) > 0) {
Error Handling / Exception Handling¶
SQL Queries¶
Sql Queries sind am besten als Prepared Statement in try{}catch(){} Blöcke zu platzieren.
try {
$sql = <<<SQL
SELECT id, artikelbezeichnung1, artikelbezeichnung2, int_artikel_nr, artikel, profil, bestand, preis14, warengruppennr, hersteller
FROM shop_artikel
WHERE ean_nummer = ?
{$wgrfilter}
SQL;
$resultCheck = $db->runQuery($sql, [$felge->ean]);
} catch (Exception $e) {
$env->log('Could not execute SQL query in DB: ' . $e->getMessage(), 'error');
$db->error_report(__FILE__, __LINE__, $sql, $e->getMessage(), $e->getCode());
}